В августе планируется релиз go1.25, начинаем разбираться что нового в этом релизе 🖼️
📦 Спустя 13 лет разработчики решили добавить "Add+Done" wrapper. Теперь не нужно вручную писать Add(1) перед запуском горутины и defer Done() внутри неё. Всё это делает Go() автоматически. Сравним:
Go 1.24:
Go 1.25:
Простое изменение, которое делает код чище и надёжнее.
📦 Спустя 13 лет разработчики решили добавить "Add+Done" wrapper. Теперь не нужно вручную писать Add(1) перед запуском горутины и defer Done() внутри неё. Всё это делает Go() автоматически. Сравним:
Go 1.24:
var wg sync.WaitGroup
wg.Add(1)
go func() {
defer wg.Done()
fmt.Println("go 1")
}()
wg.Add(1)
go func() {
defer wg.Done()
fmt.Println("go 2")
}()
wg.Wait()
fmt.Println("done")
Go 1.25:
var wg sync.WaitGroup
wg.Go(func() {
fmt.Println("go 1")
})
wg.Go(func() {
fmt.Println("go 2")
})
wg.Wait()
fmt.Println("done")
Простое изменение, которое делает код чище и надёжнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18😁6🤔3🔥2❤1