🟡 Средний · 2 очк. Горутины и конкурентность
Что произойдёт, если main() завершится до горутин?
A Горутины продолжат работу
B Программа завершится, горутины остановятся
C Deadlock
D panic
Объяснение вопроса

Когда main() возвращается, процесс завершается. Все остальные горутины при этом останавливаются - они не получают никакого сигнала, просто выполнение процесса прекращается.

Как дождаться горутин

var wg sync.WaitGroup
wg.Add(2)
go func() { defer wg.Done(); work1() }()
go func() { defer wg.Done(); work2() }()
wg.Wait()

Либо используйте канал или context для сигнала завершения. Без явного ожидания "фоновые" горутины могут не успеть выполниться.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.