След половин година разработка беше освобождаването на компилатора 1.26 и стандартната библиотека на програмния език. Go.
Основни промени:
- Вградената нова функция, която създава нова променлива, позволява да се използва израз, указващ начална стойност на променливата, като операнд. Прост пример за такова изменение е код, подобен на това:
x := int64(300) ptr := &x
Може да бъде опростено до:
ptr := new(int64(300)) - Обобщените типове могат да се отнасят сами към себе си в собствен списък с параметри от тип. Това изменение опростява реализирането на сложни структури от данни и интерфейси.
Подобрения в производителността:
- Експерименталният сборник на боклука Green Tea вече е включен по подразбиране.
- Разходите за CGO бяха намалени с около 30%.
- Компилаторът може да отделя резервна памет за структури Slice в стека в повече ситуации, което увеличава производителността.
Инструменти:
- Командата go fix е напълно пренаписана с използване на фреймворка analysis и сега включва няколко десетки 'модернизатора', които предлагат безопасни корекции, помагащи на кода ви да използва предимствата на новите възможности на езика и стандартната библиотека.
Добавени са експериментални допълнения, достъпни само при явно включване:
- Пакет archsimd за достъп до архитектурно зависими операции SIMD. В момента се поддържа само AMD64.
- Пакет secret с помощни функции за нулиране на паметта.
- В профилиращия пакет pprof е добавена поддръжка за опцията GOEXPERIMENT=goroutineleakprofile за откриване на пропуски на goroutine.
Източник: linux.org.ru
