12 августа 2025 года состоялся релиз языка программирования Go 1.25 с новым экспериментальным сборщиком мусора, обеспечивающим снижение накладных расходов на 10–40%. Этот проект развивает компания Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Исходный код языка Go распространяется под открытой лицензией BSD. Выпуск Go 1.22 состоялся в феврале 2024 года, релиз Go 1.23 произошёл в августе 2024 года. Версия Go 1.24 вышла в феврале 2025 года.

Согласно данным портала OpenNET, синтаксис Go основан на привычных элементах языка C, включая отдельные заимствования из языка «Оберон». Язык Go достаточно ��аконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно, без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime‑компонентов), что позволяет добиться производительности, сопоставимой с программами на языке C.

Проект Go изначально разрабатывается с оглядкой на многопоточное программирование и эффективную работу на многоядерных системах, в том числе предоставляя реализованные на уровне операторов средства для организации параллельных вычислений и взаимодействия между параллельно выполняемыми методами. Язык также предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти и обеспечивает возможность использования сборщика мусора.

Основные изменения и доработки в выпуске Go 1.25:

  • добавлен экспериментальный сборщик мусора «greenteagc», рассчитанный на повышения производительности создания и сканирования небольших объектов. В приложениях, в которых активно применяется сборка мусора, при использовании «greenteagc» отмечается сокращение накладных расходов на сборку мусора на 10–40%;

  • добавлены экспериментальные пакеты encoding/json/v2 и encoding/json/jsontext. Первый пакет включает переработанную высокопроизводительную реализацию пакета encoding/json. Второй пакет предлагает функции для низкоуровневой обработки синтаксиса JSON;

  • в состав включён новый пакет testing/synctest для тестирования синхронизации между разными потоками параллельно выполняемого кода;

  • в команде «go build» по умолчанию активирована опция «‑asan», выполняющая проверку утечек памяти при завершении работы программы;

  • в команду «go vet» добавлены новые анализаторы «waitgroup» и «hostport» для проверки некорректного использования sync.WaitGroup.Add и fmt.Sprintf(«%s:%d», host, port).

  • при вычислении значения GOMAXPROCS теперь не просто выставляется число доступных логических CPU, но и учитываются применяемые в контейнерах ограничения производительности CPU.

  • в компиляторе и компоновщике реализована поддержка генерации отладочной информации в формате DWARF5, обеспечивающем более компактное представление данных.