Вышел новый релиз Go (Golang): что изменилось в версии 1.23

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Вышел новый релиз Go (Golang): что изменилось в версии 1.23

Сообщество разработчиков встретило долгожданный релиз Go 1.23 — очередной этап эволюции одного из самых популярных языков программирования для серверных и высоконагруженных систем. Команда разработчиков Go традиционно сосредоточилась на повышении производительности, улучшении удобства использования и исправлении ошибок. Давайте разберём ключевые изменения.

Основные нововведения

  • Итераторы и пакет iter. В Go 1.23 экспериментальная поддержка итераторов стала стабильной. Появился новый пакет iter, предоставляющий базовые типы для работы с последовательностями. Это делает код более лаконичным и безопасным при обходе коллекций.
  • Улучшенная производительность компилятора. Оптимизирована работа с типами int и uint на 64-битных архитектурах. В некоторых сценариях производительность выросла до 3–5% без изменения исходного кода.
  • Обновление цикла for-range. Теперь переменные, объявленные внутри for-range, корректно захватываются в замыканиях. Это исправляет классическую «ловушку» для новичков, когда все итерации получали последнее значение.
  • Новый анализатор govulncheck. Встроенный инструмент поиска уязвимостей теперь может анализировать не только бинарные файлы, но и исходный код, помогая находить уязвимые зависимости до сборки.
  • Улучшения в тестировании. Тестовый пакет testing получил поддержку testing.Synctest для синхронизации горутин в тестах, что упрощает отладку многопоточного кода.

Технические детали

Особого внимания заслуживают изменения в работе с памятью. В Go 1.23 сборщик мусора стал ещё «тише» — уменьшено время заморозки потоков (stop-the-world) при сборке. Это особенно важно для real-time систем и микросервисов с жёсткими требованиями к задержкам.

Также стоит отметить обновление стандартной библиотеки: добавлена функция crypto/tls для автоматического выбора версии TLS 1.3, а пакет net/http получил поддержку HTTP/2 server push через новый интерфейс http.Pusher.

Как обновиться?

Для перехода на новую версию достаточно выполнить:

  • go install golang.org/dl/go1.23.0@latest — для загрузки новой версии;
  • go1.23.0 download — для установки;
  • или обновить Go через официальный установщик на go.dev.

Обязательно проверьте совместимость ваших проектов: Go 1.23 обратно совместим с предыдущими версиями, но новые возможности (итераторы) могут потребовать минимальной версии go 1.23 в go.mod.

Что дальше?

Релиз Go 1.23 подтверждает курс команды разработчиков на стабильность и прагматизм. Язык продолжает наращивать возможности для работы с конкурентностью и упрощения написания сложных серверных систем. Если вы работаете с микросервисами, сетевыми протоколами или распределёнными вычислениями — обновление определённо стоит внимания.

Подписывайтесь на обновления PythonLib, чтобы первыми узнавать о новостях из

Рекомендуем библотеки