
19 августа 2026 года состоялся релиз языка программирования Go 1.27, в который добавлен ряд новых инструментов, поддержка постквантового алгоритма ML-DSA, новые пакеты для обработки JSON, обновления компонентов и многое другое. Этот проект развивает компания Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Исходный код языка Go распространяется под открытой лицензией BSD.
Выпуск Go 1.22 состоялся в феврале 2024 года, релиз Go 1.23 произошёл в августе 2024 года. Версия Go 1.24 вышла в феврале 2025 года. Выпуск Go 1.25 состоялся в августе 2025 года, а Go 1.26 вышел в феврале 2026 года.

Согласно данным портала OpenNET, синтаксис Go основан на привычных элементах языка C, включая отдельные заимствования из языка «Оберон». Язык Go достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно, без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime‑компонентов), что позволяет добиться производительности, сопоставимой с программами на языке C.
Проект Go изначально разрабатывается с оглядкой на многопоточное программирование и эффективную работу на многоядерных системах, в том числе предоставляя реализованные на уровне операторов средства для организации параллельных вычислений и взаимодействия между параллельно выполняемыми методами. Язык также предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти и обеспечивает возможность использования сборщика мусора.
Основные изменения и доработки в выпуске Go 1.27:
-
реализована поддержка обобщённых (generic) методов, позволяющих объявлять собственные параметры типов и добавлять обобщённые функции непосредственно в пространство имён конкретного типа данных, без объявления на уровне всего пакета. Например, вместо раздельного объявления методов для каждого типа теперь можно использовать один обобщённый метод для всех типов:
// Было func (r *Rand) Int32N(n int32) int32 func (r *Rand) Int64N(n int64) int64 func (r *Rand) IntN(n int) int // Стало func (r *Rand) N[Int intType](n Int) Int
-
при инициализации структур в качестве ключа разрешено использовать любой допустимый селектор полей, что позволяет напрямую инициализировать поля вложенных или встроенных структур:
type Habitat struct { Burrow string } type Gopher struct { Name string Habitat // встроенная структура } g := Gopher{ Name: "Gopher", Burrow: "Burrow #42", }
-
расширен механизм автоматического вывода типов для функций, который теперь применяется во всех контекстах присвоения переменной, что позволяет использовать обобщённые (generic) функции без явного указания типов аргументов:
func GenericFormatter[T any](v T) string { return fmt.Sprintf("value: %v", v) } type IntFormatter func(int) string formatters := []IntFormatter{GenericFormatter} fn := IntFormatter(GenericFormatter) ch := make(chan IntFormatter, 1) ch <- GenericFormatter
-
в команду «go fix» добавлены новые модернизаторы кода: atomictypes, embedlit, slicesbackward и unsafefuncs для переписывания устаревших конструкций atomic, упрощения объявления встроенных структур, использования slices.Backward при переборе срезов, и замене конструкций с unsafe.Pointer на более безопасные варианты;
-
в команде «go doc» реализована поддержка запросов «package@version», например, «go doc example.com/pkg@v1.2.3»;
-
повышена эффективность выделения памяти для мелких объектов, размером менее 80 байт. В приложениях, интенсивно создающих мелкие объекты оптимизация приводит к повышению производительности примерно на 1%;
-
в пакет runtime/pprof добавлен профиль goroutineleak для автоматического определения постоянно заблокированных сопрограмм (goroutine);
-
добавлен пакет encoding/json/v2 с новой реализацией функций для обработки данных в формате JSON;
-
добавлен пакет crypto/mldsa с реализацией постквантового алгоритма формирования цифровых подписей ML‑DSA (FIPS 204);
-
добавлен пакет uuid для генерации и разбора UUID‑идентификаторов;
-
добавлены пакеты simd и simd/archsimd с экспериментальной поддержкой распараллеливания выполнения операций над данными с использованием процессорных инструкций SIMD (Single Instruction, Multiple Data).
Источник: habr.com