Anonymous Quiz
10%
false false false
2%
false false true
24%
false true true
7%
true false true
57%
true true true
Anonymous Quiz
39%
go run -race
7%
go build -race
25%
go test -race
29%
Все варианты верны
This media is not supported in your browser
VIEW IN TELEGRAM
Если присвоить интерфейсу значение nil конкретного типа, сравнение с nil вернёт false, потому что у интерфейса уже есть динамический тип. Запомни правило: интерфейс равен nil только когда и тип отсутствует, и значение nil.
package main
import (
"fmt"
"os"
)
func main() {
var err error = (*os.PathError)(nil)
fmt.Println(err == nil)
}
https://www.youtube.com/shorts/vobogCxfoLk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤯4❤2
😱 Хаос из REST, gRPC и Swagger в проекте? Пора навести порядок. На открытом уроке от OTUS вы узнаете, как построить микросервисную архитектуру, где всё работает согласованно — на основе единой схемы proto3.
👨💻 Эксперт покажет, как из одной proto-схемы автоматически генерировать gRPC, API-Gateway и Swagger — без ручных правок и бесконечных конфликтов версий. Вы разберётесь, как правильно структурировать проект, настраивать protoc и плагины, подключать HTTP-аннотации и создавать понятную документацию.
❗️ После урока вы сможете собрать рабочий шаблон микросервиса на Go, где gRPC обслуживает внутренние вызовы, REST — внешние, а Swagger — интеграцию и тестирование. Всё из одной схемы.
📅 12 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Микросервисы на Go». Регистрируйтесь и узнайте, как превратить сложную архитектуру в управляемую систему: https://otus.pw/UDk1/?erid=2W5zFJsionp
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
👨💻 Эксперт покажет, как из одной proto-схемы автоматически генерировать gRPC, API-Gateway и Swagger — без ручных правок и бесконечных конфликтов версий. Вы разберётесь, как правильно структурировать проект, настраивать protoc и плагины, подключать HTTP-аннотации и создавать понятную документацию.
❗️ После урока вы сможете собрать рабочий шаблон микросервиса на Go, где gRPC обслуживает внутренние вызовы, REST — внешние, а Swagger — интеграцию и тестирование. Всё из одной схемы.
📅 12 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Микросервисы на Go». Регистрируйтесь и узнайте, как превратить сложную архитектуру в управляемую систему: https://otus.pw/UDk1/?erid=2W5zFJsionp
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
❤3
👍2
package main
import "fmt"
func main() {
s := []int{1, 2, 3, 4}
t := s[1:3] // t = [2, 3]
t = append(t, 99) // возможно, меняет s[3]
s[2] = 42 // изменяем s напрямую
fmt.Println("s:", s)
fmt.Println("t:", t)
}
Ответ :
t: [2 42 99]
⚡️ Запустить код: https://go.dev/play/p/96RGE1ea6Sq
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4❤2
🖥 Работа со строками и рунами в Go — откройте внутреннюю механику языка
Как Go хранит текст? Почему одна буква может занимать четыре байта, а строки иногда «ломаются» при итерации? Эти мелочи отличают новичка от разработчика, который действительно понимает язык.
📆17 ноября в 20:00 МСК на открытом уроке разберём, как устроены строки и руны в Go, что происходит «под капотом» при работе с кодировками и как писать корректный, быстрый код для обработки текста. Вместе с преподавателем напишем живые примеры, разберём частые ошибки и объясним, как их избежать.
➡️ Урок проходит в преддверие старта курса «Golang Developer. Basic». Все участники вебинара получат скидку на обучение: https://otus.pw/KcNe/?erid=2W5zFHdNYhE
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Как Go хранит текст? Почему одна буква может занимать четыре байта, а строки иногда «ломаются» при итерации? Эти мелочи отличают новичка от разработчика, который действительно понимает язык.
📆17 ноября в 20:00 МСК на открытом уроке разберём, как устроены строки и руны в Go, что происходит «под капотом» при работе с кодировками и как писать корректный, быстрый код для обработки текста. Вместе с преподавателем напишем живые примеры, разберём частые ошибки и объясним, как их избежать.
➡️ Урок проходит в преддверие старта курса «Golang Developer. Basic». Все участники вебинара получат скидку на обучение: https://otus.pw/KcNe/?erid=2W5zFHdNYhE
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
This media is not supported in your browser
VIEW IN TELEGRAM
package main
import (
"errors"
"fmt"
)
type myError struct{}
func (m *myError) Error() string {
return "something went wrong"
}
func returnsNilError() error {
var e *myError = nil
return e
}
func main() {
err := returnsNilError()
fmt.Println("err == nil:", err == nil) // неожиданно false
fmt.Println("err:", err)
}
Вывод:
err: something went wrong
⚡️ Заплатить код: https://go.dev/play/p/lrw5DEthEvS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2🥰1