RunAll: дождаться всех функций
Пакет файлов обработан, только когда готовы все. Реализуйте runAll(fs []func()): запустите все функции конкурентно и дождитесь каждой через sync.WaitGroup (Add до go, Done через defer).
Показать решение
GolangРешение
func runAll(fs []func()) {
var wg sync.WaitGroup
for _, f := range fs {
wg.Add(1)
go func(f func()) {
defer wg.Done()
f()
}(f)
}
wg.Wait()
}Записаться на разбор
10 000 ₽ · 60 минут · онлайн