Pull to refresh
151.62
Skillfactory
Учим работать в IT на курсах и в магистратурах

Вышла Beta Go 1.18 с дженериками. Подробности из блога Go под катом

Reading time3 min
Views8.7K
Original author: Russ Cox

Официальный релиз Go 1.18 состоится только через пару месяцев. Это первый предварительный выпуск Go 1.18, чтобы вы могли попробовать его и сообщить о проблемах. Go 1.18 Beta 1 — это огромный объём работы всей команды разработчиков Go в Google и участников проекта Go по всему миру. Нам очень хочется узнать ваше мнение.


Go 1.18 Beta 1 — первый предварительный выпуск, содержащий поддержку дженерик-кода с параметризованными типами. Дженерики — это самое значительное изменение в Go с момента выхода Go 1 и, конечно, самое крупное изменение в языке, которое мы делали когда-либо.

В любой крупной новой функции новые пользователи часто обнаруживают новые ошибки, и мы не ждём, что дженерики станут исключением; обязательно подходите к ним с соответствующей осторожностью. Кроме того, некоторые случаи, например определённые виды рекурсивных дженерик-типов, отложены до будущих релизов.

Мы знаем первых пользователей, которые остались довольны, и, если у вас есть сценарии использования, по вашему мнению особенно подходящие для дженериков, мы надеемся, что вы попробуете их.

Нами опубликовано краткое руководство о том, как начать работать с дженериками, и на прошлой неделе выступили с докладом на GopherCon. Вы даже можете попробовать новую версию в песочнице.

В Go 1.18 Beta 1 добавлена нативная поддержка фаззинга для автоматического поиска входных данных, которые приводят к аварийному завершению программы или возвращают неверные ответы. Появился режим рабочего пространства Go, позволяющий работать с несколькими модулями одновременно, что важно для больших проектов.

Команда go version -m, которая теперь записывает детали сборки, например флаги компилятора. Программа может запрашивать данные о собственной сборке через debug.ReadBuildInfo, а также при помощи debug/buildinfo может читать данные о сборке из других двоичных файлов.

Эта функциональность должна стать основой любого инструмента, которому необходимо создать спецификацию ведомость материалов ПО (SBOM) для двоичных файлов Go.

В этом году в Go 1.17 была добавлена новая конвенция вызова на основе регистров, чтобы ускорить работу кода на системах x86-64. Go 1.18 Beta 1 расширяет данную возможность на ARM64 и PPC64, и это увеличивает скорость на 20%.

Спасибо всем, кто участвовал в создании этого релиза, и особенно команде Google, которая в течение многих лет неустанно работает, чтобы сделать дженерики реальностью. Это был долгий путь, мы очень довольны результатом и надеемся, что он понравится и вам. Более подробную информацию смотрите в черновике описания релиза Go 1.18. Как всегда, если вы заметили какие-либо проблемы, пожалуйста, сообщите нам.

Научиться решать практические задачи на Go и других языках вы сможете на наших курсах:

Узнайте подробности акции.

Профессии и курсы
Tags:
Hubs:
Total votes 28: ↑16 and ↓12+7
Comments27

Articles

Information

Website
www.skillfactory.ru
Registered
Founded
Employees
501–1,000 employees
Location
Россия
Representative
Skillfactory School