Скорее всего 3, 3, 3 (до Go 1.22). Closure захватывает переменную i по ссылке, а не по значению. К моменту выполнения горутин цикл уже завершился и i == 3. Фикс: go func(i int) { fmt.Println(i) }(i) или с Go 1.22 loopvar fix — каждая итерация создаёт новую переменную. Классический gotcha на собесах.
Что выведет: for i := 0; i < 3; i++ { go func() { fmt.Println(i) }() }?
Middle
199 просмотровAFK Offer AI
Что такое path/filepath?