Go: новое в версиях
Добавлено: 15 мар 2024, 10:28
В Go появляются в новых версиях новые и новые вещи. Некоторые из таких создают удобства, а другие даже радикально меняют картину Go. Из прошлых вещей, например:
- система поддержки модулей появляется в GoLang начиная с версии 1.11 (2018 год).
- дженерики появляются в GoLang появляются только в версии 1.18 (март 2022 года) ... хотя комментарий про использование дженериков ведутся ровно со дня выхода Go 10 ноября 2009 года ... т.е. 13 лет!
- в версии 1.18 в число предопределённых идентификаторов был введен новый тип any — синоним пустого интерфейса interface{}, означающего совместимость по присвоению с любым другим типом Go... после этой версии все пакеты репозитория GoLang «испещрены» этим типом.
- в версии Go 1.21 (август 2023 года) к числу предопределённых функций языка добавляется 3 новых: min, max, и clear. Функции min() и max() ... которые до тех пор, да и сейчас тоже, все реализуют вручную в качестве "примеров кода"
О примерном времени введения (или номере версии) каких-то особенностей нужно знять - может оказаться необходимым работать в разных версиях... Не у всех и не всегда стоит последняя (на сегодня это 1.22.1 ).
Например, компилятор TinyGo (текущая версия) работает если установлена версия GoLang по умолчанию с 1.18 по 1.21
Поэтому нужна такая вот тема о нововведениях по версиям (по крайней мере, по тем нововведениям ... которые мне ... приглянулись и пригодились )
- система поддержки модулей появляется в GoLang начиная с версии 1.11 (2018 год).
- дженерики появляются в GoLang появляются только в версии 1.18 (март 2022 года) ... хотя комментарий про использование дженериков ведутся ровно со дня выхода Go 10 ноября 2009 года ... т.е. 13 лет!
- в версии 1.18 в число предопределённых идентификаторов был введен новый тип any — синоним пустого интерфейса interface{}, означающего совместимость по присвоению с любым другим типом Go... после этой версии все пакеты репозитория GoLang «испещрены» этим типом.
- в версии Go 1.21 (август 2023 года) к числу предопределённых функций языка добавляется 3 новых: min, max, и clear. Функции min() и max() ... которые до тех пор, да и сейчас тоже, все реализуют вручную в качестве "примеров кода"
О примерном времени введения (или номере версии) каких-то особенностей нужно знять - может оказаться необходимым работать в разных версиях... Не у всех и не всегда стоит последняя (на сегодня это 1.22.1 ).
Например, компилятор TinyGo (текущая версия) работает если установлена версия GoLang по умолчанию с 1.18 по 1.21
Поэтому нужна такая вот тема о нововведениях по версиям (по крайней мере, по тем нововведениям ... которые мне ... приглянулись и пригодились )