Язык Go (golang) от Google достиг версии 1.22, в которой были внесены изменения в циклы for, включая решение проблемы, которая приводила к риску случайного обмена переменными цикла.
Выпущенную 6 февраля версию Go 1.22 можно загрузить и установить с сайта go.dev. Примечания к выпуску Go 1.22 можно найти на сайте проекта.
В Go 1.22 команда разработчиков Go устранила так называемую "загвоздку" с циклом for, которая приводила к случайному обмену переменными цикла. В Go 1.22 каждая итерация цикла создает новые переменные, чтобы избежать ошибок случайного обмена. Второе изменение заключается в том, что циклы for в Go теперь могут работать с целыми числами.
Также в Go1.22 оптимизация времени выполнения повышает производительность процессора на 1-3 % и снижает накладные расходы памяти для большинства программ на Go примерно на 1 %. Также улучшена девиртуализация в сборках с оптимизацией по профилю (PGO), что позволяет статически диспетчеризировать больше вызовов методов интерфейса. Большинство программ получат от 2 до 14 % прироста при включении PGO. PGO была представлена в Go 1.21, которая появилась в августе 2022 года.
Go 1.22 также привносит улучшения в стандартную библиотеку. Пакет math/rand/v2 обеспечивает более последовательный и чистый API и использует более качественные и быстрые алгоритмы генерации псевдослучайных чисел. Кроме того, шаблоны маршрутизации HTTP, используемые net/http.ServeMux, теперь принимают подстановочные знаки и методы.
В других разделах Go 1.22:
- Команды Go в рабочих пространствах теперь могут использовать каталог поставщика, содержащий зависимости рабочего пространства.
- Веб-интерфейс инструмента трассировки был обновлен в рамках работы по поддержке нового трассировщика, в результате чего было решено несколько проблем и улучшено удобство чтения различных подстраниц.
- Поведение инструмента vet было изменено в соответствии с новой семантикой переменных цикла в Go 1.22. Кроме того, vet теперь сообщает о не отложенном вызове time.Since (t) внутри оператора отсрочки.
- В macOS на 64-битной архитектуре инструментарий Go теперь по умолчанию генерирует позиционно-независимые исполняемые файлы.
- В Go 1.22 добавлен экспериментальный порт на OpenBSD на big-endian 64-битной PowerPC.
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
Комментарии