Как и обещал - краткий гайд по изменениям и новым плюшкам в Go 1.11
👩💼 Никаких изменений спецификации языка.
👨💼 Обновились минимальные версии некоторых операционок, на которых умеет Go:
👉 Для OpenBSD сократили поддержку некоторых версий, и минимальная теперь OpenBSD 6.2
👉 MacOS 10.10 Yosemite стала необходимым минимумом среди семейства Apple
👉 Для семейства Windows минимальная версия теперь Windows 7
👩💼 Добавили экспериментальную поддержку WebAssembly. Еще немного времени, и зпшки измеряемые камазами, за пол года опыта с React, превратятся в тыкву. 🎃
👨💼 Поддержка Go Modules, о которой все говорили последние несколько месяцев.
👩💼 Ассемблер на платформе amd64 теперь принимает AVX512 инструкции.
👨💼 Вот такая штука теперь не скомпилируется, потому что не используется переменная x:
func f(v interface{}) {
switch x := v.(type) {}
}
👩💼 -memprofile флаг для go test теперь по дефолту работает в режиме allocs.
👨💼 Это последний релиз, в котором godoc может отображать информацию в консоль. В последующих релизах команда будет исполнять роль только вебсервера. А функционал с выводом документации в консоль перехватила команда go doc.
👩💼 Рантайм теперь использует sparse heap шаблон, поэтому ограничения в 512 гигов больше не существует.
👨💼 На платформах macOS и iOS рантайм теперь использует
libSystem.so вместо прямого вызова в кернел.
Все это, а так же огромное количество мелких твиков стандартной библиотеки доступно нам уже сейчас! 🎉
Читаем и разбираемся!
https://golang.org/doc/go1.11