Вопрос: Как работает sync.WaitGroup и зачем он нужен?

Go Junior Без компании
Вопрос: Как работает sync.WaitGroup и зачем он нужен?
Ответы
WaitGroup ждёт завершения набора горутин. Add(n) перед запуском, Done() в конце, Wait() в главной. ```go package main import ( "fmt" "sync" ) func main() { var wg sync.WaitGroup wg.Add(2) go func() { defer wg.Done() fmt.Println("A") }() go func() { defer wg.Done() fmt.Println("B") }() wg.Wait() fmt.Println("done") } ```