Можешь объяснить, для чего нужен sync.WaitGroup и показать, как ты бы его использовал, чтобы координировать завершение нескольких goroutine в Go программе? — ДейлиПреп