В релиз вошли несколько заметных изменений:
1. Функция new теперь принимает выражение с начальным значением, так что вместо
x := int64(300)
ptr := &x
можно писать:
ptr := new(int64(300))
2. Также обобщённые типы теперь могут ссылаться на себя в списке параметров типа. Это упрощает реализацию сложных структур данных без обходных приёмов.
3. По производительности: экспериментальный GC Green Tea включён по умолчанию, базовый overhead
cgo снизили примерно на 30%, компилятор чаще размещает backing store для срезов на стеке.4. Инструменты тоже обновили.
go fix переписан на базе Go analysis framework и получил несколько десятков «modernizers» — анализаторов с безопасными автоправками. Появился inline-анализатор для функций с директивой //go:fix inline.5. Из экспериментального: пакет
simd/archsimd для SIMD-операций, runtime/secret для затирания временных секретных данных и профиль goroutineleak в runtime/pprof.Полный список изменений можно посмотреть в Release Notes.
@go_for_devs