Go 1.6 Выпущен


Последняя версия Google Go была выпущена с поддержкой HTTP/2. Через шесть месяцев после Go 1.5, в котором произошли более драматические изменения, версия 1.6 содержит больше дополнительных улучшений. 

Поддержка HTTP/2 в пакете net/http является наиболее интересным улучшением. HTTP/2 является продолжением HTTP, который уже используется в основных браузерах, таких как Firefox и Chrome, а также на основных веб-сайтах. Поддержка HTTP/2 включена по умолчанию как для серверов, так и для клиентов при использовании HTTPS в Go 1.6.

Еще одна область, которая была улучшена, – это пакеты шаблонов. Теперь они поддерживают обрезку пробелов вокруг действий шаблона для получения более чистого вывода шаблона и введение действия {{block}}, которое можно использовать для создания шаблонов, основанных на других шаблонах.

Разработчики добавили функцию, позволяющую преодолеть проблему одновременной записи нескольких гороутинов на одну и ту же карту. Карты в Go-это встроенная структура данных, которая связывает значения одного типа (ключ) со значениями другого типа (элемент или значение) . Проблемы возникают, если две подпрограммы обновляют одну и ту же структуру, поэтому среда выполнения добавила легкое, максимально эффективное обнаружение одновременного неправильного использования карт. Если среда выполнения обнаруживает несколько одновременных обновлений, она выводит диагноз и завершает работу программы. Затем вы можете запустить программу под детектором гонки, который определит, какие процедуры вызывают проблему.

Среда выполнения также изменила способ печати паники, заканчивающейся программой. Теперь он печатает только стек паникующей гороутины, а не все существующие гороутины. 

Если вы являетесь пользователем cgo, вам необходимо принять к сведению основные изменения в правилах совместного использования указателей между кодом Go и C, которые были внесены для предотвращения проблем с взаимодействием между кодом C, который сохраняет указатель после вызова cgo, и сборщиком мусора Go. В примечаниях к выпуску есть хорошее объяснение. Существует множество других изменений, которые описаны в примечаниях к выпуску.


Добавить комментарий