Пакет файлов обработан, только когда готовы все. Реализуйте runAll(fs []func()): запустите все функции конкурентно и дождитесь каждой через sync.WaitGroup (Add до go, Done через defer).
- Задача
- Решение
- Обсуждение
RunAll: дождаться всех функций
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()
}