Команда Go объявила о релизе версии 1.26. Обновление затрагивает синтаксис языка, систему типов, сборщик мусора, компилятор и стандартную библиотеку.
Изменения в языке
В Go 1.26 переработана встроенная функция new. Теперь в неё можно передавать выражение, задающее начальное значение переменной.
Ранее код выглядел так:
x := int64(300) ptr := &x
Теперь его можно сократить до:
ptr := new(int64(300))
Кроме того, обобщённые типы получили возможность ссылаться на самих себя в списке параметров типа. Это упрощает реализацию сложных структур данных и интерфейсов без обходных конструкций.
Производительность
Экспериментальный ранее сборщик мусора Green Tea включён по умолчанию.
Базовые накладные расходы cgo снижены примерно на 30%.
Компилятор чаще размещает backing store для срезов на стеке, что уменьшает давление на GC и ускоряет выполнение.
Инструменты
Команда go fix полностью переписана на базе Go analysis framework. В неё добавлены несколько десятков «modernizers» — анализаторов, предлагающих безопасные правки для использования новых возможностей языка и стандартной библиотеки.
Также появился анализатор inline. Он пытается инлайнить вызовы функций, помеченных директивой //go:fix inline.
Стандартная библиотека и экспериментальные возможности
В стандартную библиотеку добавлены новые пакеты:
crypto/hpkecrypto/mlkem/mlkemtesttesting/cryptotest
Часть нововведений доступна только при явном включении:
simd/archsimd— экспериментальный пакет для операций SIMD.runtime/secret— механизм безопасного затирания временных данных, используемых при работе с секретной информацией.профиль
goroutineleakвruntime/pprof— отчёт об «утёкших» горутинах.
Эти функции находятся в экспериментальной стадии и могут измениться в следующих релизах.
Релиз 1.26 также включает изменения в рантайме, компиляторе, линкере, портах под разные платформы и обновления переменных GODEBUG. Полный список доступен в официальных release notes.
Русскоязычное Go сообщество

Друзья! Эту статью подготовила команда «Go for Devs» — сообщества, где мы делимся практическими кейсами, инструментами для разработчиков и свежими новостями из мира Go. Подписывайтесь, чтобы быть в курсе и ничего не упустить!
