23/02/2016

Le langage Go en version 1.6

La nouvelle version du langage apporte un support automatique du protocole HTTP 2.0 et un mécanisme de réutilisation des templates.

Publiée quelques mois après la sortie de la version 1.5, la nouvelle version du langage Go reste compatible avec les versions antérieures et n’ajoute aucun élément de spécification. Néanmoins, elle embarque des fonctionnalités importantes, au premier desquelles : le support du protocole HTTP 2.0. Ce successeur du protocole HTTP 1.1 améliore les performances du protocole de transfert et assure une connexion unique entre sites et navigateurs. Le support HTTP 2.0 a été intégré par défaut, permettant aux applications compilées avec cette nouvelle version de bénéficier de façon transparente de cet avantage.

Les autres améliorations de Go 1.6

Ajouté à titre expérimental dans la version 1.5, le mécanisme permettant d’inclure les bibliothèques externes qui se trouvent dans le répertoire vendor via la variable GO15VENDOREXPERIMENT est maintenant activé par défaut. Il est aussi possible de détecter automatiquement les erreurs à l’exécution lors de la lecture ou de l’écriture d’une map. Les affichages après un arrêt d’exécution en erreur sont filtrés et ne présentent que les goroutines concernées. La gestion des templates introduit quelques nouveautés dont la nouvelle action {{block}} qui permet de définir une partie d’un template pouvant être remplacée dans différentes instanciations.

Interopérabilité avec les bibliothèques C

L’outil CGO qui permet aux programmes Go de fonctionner de manière interopérable avec les bibliothèques C évolue lui aussi. La définition des règles de partage des pointeurs Go avec les codes C est modifiée:il faudra dorénavant qu’un pointeur de la mémoire allouée par Go soit passé à C comme faisant partie de l’appel de CGO.

L’intégralité des évolutions de Go 1.6 est disponible dans les notes de version.

Actualités