Примеры с реальных Golang собесов 2023: loopvar

preview_player
Показать описание
Задачи на loop variable.

Рекомендации по теме
Комментарии
Автор

Кстати,
Previously, the variables declared by a "for" loop were created once and updated by each iteration. In Go 1.22, each iteration of the loop creates new variables, to avoid accidental sharing bugs.

БорисКрасных-цн
Автор

Я б накинул еще задачки на тему escape analysis.
По сниппету рассказать, какие переменные уходят на кучу, например, и почему.
И как избавиться от этого.

hound
Автор

Тут кстати не совсем очевидный момент в первой задаче. Почему именно выводится пять пятерок, а не пять четверок. Ведь по идее i заканчивается на 4. У меня это отдельно спрашивали. Ведь когда надо исправить вывод, i идет от 0 до 4. А в целом очень крутой контент Евгений)

kamtarmamatkulov
Автор

Я бы просто sleep(i) поставил внутри каждой горутины. Горутину все равно стопать придётся. Вопрос только какие накладные расходы, если слипом)

СергейРодин-юъ
Автор

а еще значения в слайс можно запихать и потом поочередно вывести)

ArtemCYOU
Автор

Каналы или wg.Wait в цикле после запуска горутины?
Если каналы то писать сначала в канал значение переменной из цикла, а в горутине уже читать из этого канала и кидать в stdout

hound
Автор

для участия в программе "процент от зп" нужно знать английский?

danil
Автор

Все сложнее и сложнее :)
Спасибо за панику :D

novychok_novychok
Автор

А настоящий синьор (помидор) ещё узнаёт скольки ядерная у нас система и gomaxproc выставит))

yarbersheer
Автор

К сожалению или к счастью, в go 1.21 изменят семантику переменных цикла(

ndisu
Автор

Канал использовать чтобы отсортировать задачи печати.

andreykyzn
Автор

wg.WaitGroup писать внутри цикла, но до запуска горутин?

БаиртоЦыренов
Автор

В 3 задачке runtime.Gosched() добавить

ГорацийОктавий
join shbcf.ru