tgoop.com/golang_interview/1297
Create:
Last Update:
Last Update:
🛠 Go совет: как правильно использовать sync.WaitGroup
Частая ошибка — вызывать wg.Add()
внутри горутины.
Такой код может не сработать правильно: горутина может стартовать позже, чем основной поток дойдёт до Wait()
.
⚡ Чем нам поможет новая версия Go 1.25:
- go vet
теперь автоматически ловит эту ошибку.
- Появился удобный метод WaitGroup.Go
, который сам делает Add
и Done
.
Пример:
var wg sync.WaitGroup
// ❌ Неправильно
go func() {
wg.Add(1) // Add вызывается слишком поздно
defer wg.Done()
work()
}()
// ✅ Правильно
wg.Add(1) // Add вызываем до запуска
go func() {
defer wg.Done()
work()
}()
// ✅ Go 1.25
wg.Go(func() {
work()
})
BY Golang вопросы собеседований

Share with your friend now:
tgoop.com/golang_interview/1297