27 подписчиков
Go 1.24 ещё не выпущен, однако уже доступны предварительные заметки о релизе, которые дают представление о предстоящих улучшениях и новых возможностях. Ожидается, что Go 1.24 будет выпущен в феврале 2025 года.
Основные изменения в Go 1.24:
Поддержка обобщённых псевдонимов типов: Go 1.24 полностью поддерживает обобщённые псевдонимы типов. Теперь псевдонимы типов могут быть параметризованы, как и определённые типы. Это расширяет возможности работы с обобщёнными типами в языке.
Улучшения в инструментах:
Команда Go:
Модули Go теперь могут отслеживать исполняемые зависимости с помощью директив tool в go.mod, что устраняет необходимость в использовании пустых импортов в файле tools.go.
Команда go tool теперь может запускать инструменты, помимо тех, что поставляются с Go.
Новая переменная окружения GOAUTH предоставляет гибкий способ аутентификации при получении приватных модулей.
Cgo:
Добавлены новые аннотации для функций C, улучшающие производительность во время выполнения. Улучшения компилятора: В Go 1.24 компилятор теперь всегда сообщает об ошибке, если приёмник обозначает тип, сгенерированный cgo, независимо от того, напрямую ли это или через псевдоним типа.
Изменения в стандартной библиотеке:
Linux: Go 1.24 требует версии ядра Linux 3.2 или более поздней.
Darwin: Go 1.24 будет последним выпуском, поддерживающим macOS 11 Big Sur. Go 1.25 потребует macOS 12 Monterey или более поздней версии.
Поддержка WebAssembly: Директива go:wasmexport добавлена для экспорта функций Go в хост WebAssembly. На WebAssembly System Interface Preview 1 (GOOS=wasip1 GOARCH=wasm) Go 1.24 поддерживает сборку программы Go как реактора/библиотеки с использованием флага сборки -buildmode=c-shared.
1 минута
12 января 2025