Вячеслав Шарунов

Язык программирования Go обновился до версии 1.9

Язык программирования Go обновился до версии 1.9. Рассказываем о наиболее значимых изменениях.

1645

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

Речь идёт о появлении поддержки псевдонимов типов данных (Type Aliases), а также о возможности определения, когда именно код может сливать воедино операции с плавающей точкой. Последняя опция стала возможна из-за перехода языка на архитектурную инструкцию умножения-сложения с однократным округлением (fused multiply and add), при которой расчёт float значения x*y + z происходит без промежуточного округления x*y. При необходимости округления рекомендуется использовать float64(x*y) + z.

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

Основные новшества, представленные в выпуске Go 1.9:

  • добавлена возможность определения псевдонимов типов;
  • включён новый пакет math/bits, предоставляющий функции для битовых операций и манипуляции беззнаковыми целыми числами с задействованием, при возможности, специальных инструкций CPU;
  • в пакет sync добавлен новый тип Map, являющийся безопасным для одновременного доступа в многопоточных приложениях;
  • в пакет testing добавлен новый метод Helper, применяемый с объектами testing.T и testing.B. Данный метод в случае ошибки вернет номер строки кода, вызвавшего её, а не просто строку в функции, в которой произошел вызов t.Fatal;
  • реализована поддержка параллельной компиляции нескольких функций в пакете.

Полный список изменений и усовершенствований языка можно найти в блоге разработчиков. После этого советуем почитать бесплатные книги по этому языку программирования или же начать его изучение.

1645