Golang задачи с собеседований
4.56K subscribers
487 photos
6 videos
12 files
244 links
Задачи, тесты и теоретические вопросы по Go. Так же по gin, grpc, горутинах, архитектуре api и http стэку.

Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
Что выведет код?
Что выведет код?
Anonymous Quiz
32%
4
68%
6
Вопрос от подписчика: Что выведет код?

PS. если у вас есть вопросы то присылайте их @igorhub
Что выведет код?
В какой строке этот код выкинет панику во время выполнения?
В какой строке этот код выкинет панику во время выполнения?
Anonymous Quiz
25%
6
43%
7
25%
10
6%
11
Объяснение👆

В сравнении значений интерфейса, если динамические типы двух операндов идентичны и несопоставимы, то сравнение вызовет панику во время выполнения.
Сравнение двух значений интерфейсов (с помощью оператора `==`) происходит в 3 этапа:
1. если одно из двух значений интерфейса является нулевым значением интерфейса, то результатом сравнения будет то, является ли другое значение интерфейса также nil.
2. если динамические типы двух значений интерфейса имеют два разных типа, то результат сравнения будет false.
3. для случая динамических типов когда два значения интерфейса имеют одинаковый тип:
- если тот же динамический тип является несопоставимым типом, возникнет паника. В этом вопросе это map[int]int - несопоставимый тип.
- иначе результат сравнения является результатом сравнения динамических значений двух значений интерфейса.

Специцикация: https://golang.org/ref/spec#Comparison_operators
Что выведет код?
Что выведет код?

За вопрос благодарим @candyboober

PS. если у вас есть вопросы то присылайте их @igorhub
Объяснение 👆

- При именованых возвращаемых параметрах возвращаемое значение автоматически ему присваивается и возвращается именно именуемый параметр.
- Дефер принимает параметры уже при обьявлении вызова, таким образов первый принт принимает только инициализированное значение которое по-умолчанию false, а следующий вызов defer вызывает функцию без параметров, а параметр для println будет получен уже из результата работы функции.
[Git] Как инициализировать пустой репозиторий (без рабочей директории)?
Anonymous Quiz
1%
git init --shared
27%
git init --bare
40%
git init --empty
3%
git init --free
18%
git init --new
12%
Не знаю
Что выведет код?
Что выведет следующий код?
Что будет напечатано при выполнении кода?