Go продолжает развивать не синтаксис ради синтаксиса, а то, что реально влияет на production-сервисы.
Главные изменения:
🧬 Generic methods
Методы смогут иметь собственные type parameters:
type Box[T any] struct {
Value T
}
func (b Box[T]) Map[R any](fn func(T) R) Box[R] {
return Box[R]{fn(b.Value)}
}
Это открывает новые возможности для обобщённых библиотек.
⚡ Улучшения работы с памятью
Компилятор получил оптимизации для маленьких аллокаций.
Результат:
- меньше overhead при создании объектов;
- быстрее работа с большим количеством мелких структур;
- улучшения для allocation-heavy приложений.
📦 Новый
encoding/json/v2Появляется экспериментальная новая версия JSON-пакета:
import "encoding/json/v2"
Цель - решить старые ограничения
encoding/json и сделать работу с JSON более современной.🔍 Улучшения runtime
Изменения затронули:
- профилирование goroutine;
- trace;
- таймеры;
- внутренние оптимизации runtime.
Go 1.27 показывает привычный подход команды Go:
меньше магии - больше предсказуемости и производительности в production.
Не революция, а очередная шлифовка языка, который уже лежит в основе Kubernetes, облаков и высоконагруженных систем.
Подробнее:
https://victoriametrics.com/blog/go-1-27/
