Назад к вопросам
Senior
4
Какие есть способы объявить WaitGroup? Как записать значение в канал?
Компании, где спрашивали
01.tech
Ответ от нейросети
sobes.tech AI
Объявление WaitGroup в Go:
var wg sync.WaitGroup
// или
wg := &sync.WaitGroup{}
WaitGroup используется для ожидания завершения группы горутин. Основные методы:
Add(n int)— увеличить счётчик на nDone()— уменьшить счётчик на 1 (обычно вызывается в горутине)Wait()— блокирует выполнение до тех пор, пока счётчик не станет 0
Запись значения в канал:
ch := make(chan int)
// Запись значения 42 в канал
ch <- 42
Если канал буферизирован, запись может быть неблокирующей, если в буфере есть место. Если канал небуферизирован, запись блокируется до тех пор, пока кто-то не прочитает значение из канала.