Go 1.24: новые возможности, улучшения инструментов и производительности

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

Главные новинки Go 1.24

Одним из ключевых новшеств стала полная поддержка обобщённых псевдонимов типов (generic type aliases). Теперь псевдонимы типов могут быть параметризованы, как и обычные типы. Хотя эту функцию пока можно отключить с помощью переменной окружения GOEXPERIMENT=noaliastypeparams, в Go 1.25 она станет постоянной частью языка.

Улучшения в инструментарии

  • Директивы для инструментов в модулях Go: Теперь файлы go.mod могут отслеживать зависимости для исполняемых файлов без необходимости использования пустых импортов.
  • Новый флаг -tool для go get: Упрощает управление инструментами, делая процесс более интуитивным.
  • Кэширование исполняемых файлов: Команды go run и go tool теперь сохраняют исполняемые файлы в кэше сборки Go, что повышает производительность.
  • Флаг -json для go build и go install: Позволяет получать структурированный вывод в формате JSON, что упрощает автоматизацию и анализ.

Улучшения безопасности и производительности

  • Переменная окружения GOAUTH: Предоставляет гибкие возможности аутентификации для работы с приватными модулями.
  • Метаданные системы контроля версий: Теперь по умолчанию встраиваются в скомпилированные бинарные файлы, что упрощает отслеживание версий.
  • Оптимизация производительности: Время выполнения программ сократилось на 2-3% благодаря улучшениям в runtime.

Дополнительные улучшения

  • Расширенная поддержка дизассемблирования в objdump: Теперь разработчики могут более детально анализировать скомпилированный код.
  • Новый анализатор vet для ошибок в тестах: Помогает находить и исправлять ошибки в объявлениях тестов.
  • Более строгие проверки printf: Уменьшают вероятность ошибок форматирования строк.
  • Улучшения в cgo и линкере: Теперь определения методов в cgo стали строже, что повышает стабильность кода.

Требования к обновлению

Для использования Go 1.24 необходимо обновить bootstrap до версии Go 1.22.6 или выше. Это обеспечит корректную работу всех новых функций и улучшений.

Читайте также
7 расширений Chrome, которые ускорят работу на фронтенде
7 расширений Chrome, которые ускорят работу на фронтенде
7 расширений Chrome, которые ускорят работу на фронтенде

Рассказали о полезных фронтенд-инструментах для повышения производительности.

Цикл поддержки Vue 2 завершится в 2023 году
Цикл поддержки Vue 2 завершится в 2023 году
Цикл поддержки Vue 2 завершится в 2023 году

Цикл поддержки Vue 2 закончится 31 декабря 2023 года, рассказали в блоге Vue. Эта версия перестанет получать новые функции, исправления ошибок и обновления. В официальных каналах распространения прежняя версия останется.

Опубликовали релиз OpenSSH 9.5
Опубликовали релиз OpenSSH 9.5
Опубликовали релиз OpenSSH 9.5

OpenSSH — это 100% реализация протокола SSH 2.0. которая включает поддержку sftp-клиента и сервера.

Dev новости: React 19, Bun приходит в Angular и GitHub AI Fund
Dev новости: React 19, Bun приходит в Angular и GitHub AI Fund
Dev новости: React 19, Bun приходит в Angular и GitHub AI Fund

React 19 вот-вот выйдет, спустя два года после выхода предыдущей версии, а еще обновления Angular и Astro, а также фонд искусственного интеллекта на GitHub.