После полугода разработки состоялся выпуск 1.26 компилятора и стандартной библиотеки языка программирования Go.
Основные изменения:
- Встроенная новая функция, создающая новую переменную, позволяет использовать в качестве операнда выражение, указывающее начальное значение переменной. Простой пример такого изменения — это код, подобный этому:
x := int64(300) ptr := &x
Можно упростить до:ptr := new(int64(300)) - Обобщенные типы могут ссылаться сами на себя в собственном списке параметров типа. Это изменение упрощает реализацию сложных структур данных и интерфейсов.
Улучшение производительности:
- Экспериментальный сборщик мусора Green Tea теперь включен по умолчанию.
- Накладные расходы на CGO были сокращены примерно на 30%.
- Компилятор может выделять резервную память для Slice-структур в стеке в большем количестве ситуаций, что повышает производительность.
Инструментарий:
- Команда
go fixбыла полностью переписана с использованием фреймворка analysis и теперь включает в себя несколько десятков «модернизаторов», которые предлагают безопасные исправления, помогающие вашему коду использовать преимущества новых возможностей языка и стандартной библиотеки.
Добавлены экспериментальные дополнения, доступные только при явном включении:







