Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Vypuschen go 127
Dev48

© 2026 · All rights reserved.

Выпущен Go 1.27

Источник: Go

Выпущен Go 1.27

Источник: Go

Go 1.27 добавляет обобщенные методы, пакет encoding/json/v2, пакет uuid, более быструю аллокацию памяти, профили утечки горутин и многое другое.

25 сентября 2026 г.

Блог Go

Сегодня команда Go рада объявить о выходе Go 1.27. Бинарные архивы и установщики можно найти на странице загрузки.

Go 1.27 привносит крупные улучшения в язык, набор инструментов, среду выполнения и стандартную библиотеку. Ниже приведены некоторые из ключевых новшеств.

Изменения в языке

Go 1.27 представляет три заметных обновления в спецификации языка.

Во-первых, теперь поддерживаются обобщенные (generic) методы. Пример можно увидеть в math/rand/v2.Rand:

Во-вторых, ключом в литерале структуры теперь может быть любой допустимый селектор поля для типа структуры, что позволяет напрямую инициализировать поля во вложенных или внедренных структурах:

Наконец, вывод типов функций был расширен на все контексты присваивания. Обобщенные функции теперь можно использовать без явных аргументов типов в составных литералах, приведении типов и отправке в каналы:

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

  • go fix включает несколько новых средств модернизации: atomictypes, embedlit, slicesbackward и unsafefuncs.
  • go doc теперь поддерживает запросы формата package@version, например go doc example.com/pkg@v1.2.3.
  • go mod tidy теперь автоматически объединяет несколько блоков require в go.mod в стандартную структуру из двух блоков (direct и indirect).

Производительность и среда выполнения

  • Специализированная по размеру аллокация памяти снижает затраты на выделение мелких объектов (<80 байт) на величину до 30%, улучшая общую производительность примерно на 1% для программ с интенсивным выделением памяти.
  • Профиль goroutineleak в runtime/pprof теперь общедоступен, что позволяет автоматически обнаруживать перманентно заблокированные горутины.

Дополнения в стандартной библиотеке

  • encoding/json/v2 предоставляет высокоуровневую обработку JSON с настраиваемыми опциями и более строгими настройками по умолчанию, а также encoding/json/jsontext для низкоуровневой потоковой передачи. Существующий пакет encoding/json теперь работает на базе реализации v2 для более быстрого анмаршалинг с сохранением обратной совместимости.
  • crypto/mldsa реализует постквантовую схему цифровой подписи ML-DSA (FIPS 204), интегрированную в crypto/x509 и crypto/tls.
  • uuid обеспечивает встроенную поддержку генерации и разбора UUID.
  • simd и архитектурно-специфичный simd/archsimd предоставляют экспериментальную поддержку SIMD.
  • net/http/httptest добавляет NewTestServer, предоставляя фиктивную сеть в памяти, подходящую для использования с пакетом testing/synctest.

Пожалуйста, ознакомьтесь с примечаниями к выпуску Go 1.27 для получения полного списка изменений и подробностей.

В течение следующих нескольких недель в последующих записях блога будут более подробно рассмотрены некоторые темы, связанные с Go 1.27. Загляните позже, чтобы прочитать эти статьи.

Спасибо всем, кто внес свой вклад в этот релиз, написав код, сообщив об ошибках, опробовав экспериментальные дополнения и протестировав релиз-кандидаты. Как всегда, если вы заметите какие-либо проблемы, пожалуйста, сообщите о них.

Мы надеемся, что вам понравится использовать Go 1.27!

← Все статьи