TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.83K subscribers
Post #3403 1.97K
Вышла новая версия языка Go - Go 1.26

Бинарные архивы и установщики можно найти на странице загрузки. Go 1.26 вносит два существенных улучшения в синтаксис языка и систему типов:

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

x := int64(300)
ptr := &x


Может быть упрощен до:

ptr := new(int64(300))


2) Во-вторых, обобщенные типы теперь могут ссылаться сами на себя в собственном списке параметров типа. Это изменение упрощает реализацию сложных структур данных и интерфейсов.

Кроме того, есть некоторые улучшения производительности:
- Ранее экспериментальный сборщик мусора Green Tea теперь включен по умолчанию.
- Базовые накладные расходы cgo уменьшены примерно на 30%.
- Компилятор теперь может выделять резервную память для срезов в стеке в большем количестве ситуаций, что повышает производительность.

Улучшения инструментов
Команда go fix была полностью переписана с использованием фреймворка анализа Go и теперь включает в себя несколько десятков «модернизаторов» — анализаторов, которые предлагают безопасные исправления, чтобы помочь вашему коду использовать преимущества новых возможностей языка и стандартной библиотеки. Она также включает в себя анализатор inline, который пытается встроить все вызовы каждой функции, аннотированной директивой //go:fix inline.

Дополнительные улучшения и изменения
Go 1.26 вносит множество улучшений по сравнению с Go 1.25 в свои инструменты, среду выполнения, компилятор, компоновщик и стандартную библиотеку. Это включает в себя добавление трёх новых пакетов: crypto/hpke, crypto/mlkem/mlkemtest и testing/cryptotest. Также внесены изменения, специфичные для каждого порта, и обновлены настройки GODEBUG.

Некоторые дополнения в Go 1.26 находятся на экспериментальной стадии и становятся доступны только при явном согласии пользователя. В частности:

- Экспериментальный пакет simd/archsimd предоставляет доступ к операциям «одна инструкция, несколько данных» (SIMD).
- Экспериментальный пакет runtime/secret предоставляет средство для безопасного удаления временных файлов, используемых в коде, который манипулирует секретной информацией, как правило, криптографического характера.
- Экспериментальный профиль goroutineleak в пакете runtime/pprof сообщает об утечках горутин.

Ожидается, что все эти эксперименты станут общедоступными в будущей версии Go.

Полный список дополнений, изменений и улучшений в Go 1.26 в примечаниях к выпуску: https://go.dev/doc/go1.26

#go #golang
go.dev Go 1.26 Release Notes - The Go Programming Language
  • ❤ 17
  • 🔥 8
  • 💩 4
  • 👍 3
  • 👀 2
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
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 →