TGViewer
Библиотека Go-разработчика | Golang Библиотека Go-разработчика | Golang @goproglib · 24.1K subscribers
Post #7301 2.79K
🎉 Первый релиз кандидат Go 1.27

Вышел релиз-кандидат Go 1.27, финал ждут в августе 2026. Команда просит прогнать на нём свои тесты и нагрузку, пока есть время поймать регрессии. Что в нём интересного.

➡️ Дженерик-методы

Главная новость, которую ждали годами. Теперь метод может объявлять собственные параметры типа, а не только функция уровня пакета.

Раньше дженерик-функцию, привязанную к типу, приходилось выносить в область видимости всего пакета. Теперь так:
type Box[T any] struct{ v T }

func (b Box[T]) Map[U any](f func(T) U) Box[U] {
return Box[U]{f(b.v)}
}


Методы интерфейсов параметры типа объявлять не могут, и дженерик-методом интерфейс не реализуешь.

➡️ JSON переписали

Появились пакеты encoding/json/v2 и encoding/json/jsontext. Старый encoding/json теперь работает поверх v2. Поведение сохранили, но разбор JSON стал заметно быстрее, а кодирование осталось примерно на том же уровне. v2 строже по умолчанию, отвергает битый UTF-8 и дублирующиеся ключи в объекте.

Если что-то сломалось, есть аварийный тормоз GOEXPERIMENT=nojsonv2.

➡️ UUID в стандартной библиотеке

Новый пакет uuid генерирует и парсит UUID. Можно выкинуть одну внешнюю зависимость из проекта.

➡️ Что ещё

Мелкие аллокации до 80 байт стали дешевле примерно на 30 процентов за счёт специализированных по размеру функций выделения памяти.

Профиль утечек горутин goroutineleak доехал из эксперимента в стабильную версию и ловит горутины, навсегда заблокированные на канале или мьютексе.

Добавили экспериментальный пакет simd для портируемых векторных операций, включается через GOEXPERIMENT=simd.

Завезли постквантовые подписи crypto/mldsa по FIPS 204 и поддержку их в crypto/tls и crypto/x509. В strings и bytes появилась CutLast, в net/url методы Clone.

Каналы из пакета time теперь всегда небуферизованные, настройку asynctimerchan убрали навсегда. И минимум для macOS поднялся до Ventura 13.

Поставить и попробовать.
go install golang.org/dl/go1.27rc1@latest
go1.27rc1 download


➡️ Источник

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека Go-разработчика

#GoLive
  • 👍 14
  • 🔥 5
  • ❤ 3
More from @goproglib
  1. Sep 26, 2026🔥 В Go 1.27 появился portable SIMD До этого SIMD-оптимизации в Go требовали архитектурног…
  2. Sep 25, 2026🤡🤡 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика #GoGiggle
  3. Sep 25, 2026💡 Код работает. А data race уже есть В Go можно записать значение в одной горутине, прочи…
  4. Sep 23, 2026💥 TCP/IP: что происходит с данными в сети Когда Go-приложение отправляет данные по сети,…
  5. Sep 22, 2026🔴 Встроенные функции len, make, panic — встроенные функции Go, которые можно использовать…
  6. Sep 21, 2026🤩 Go с нуля: серия базовых шпаргалок Собрали путь от Hello, World! до goroutines, channel…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →