Après six mois de développement, la version 1.26 du compilateur et de la bibliothèque standard du langage de programmation a été publiée. Go.
Principales modifications :
- La nouvelle fonction intégrée, qui crée une nouvelle variable, permet d'utiliser une expression désignant la valeur initiale de la variable comme opérande. Un exemple simple de ce changement est un code similaire à celui-ci :
x := int64(300) ptr := &x
Cela peut être simplifié en :
ptr := new(int64(300)) - Les types génériques peuvent se référencer eux-mêmes dans leur propre liste de paramètres de type. Ce changement facilite l'implémentation de structures de données et d'interfaces complexes.
Amélioration des performances :
- Le ramasse-miettes expérimental Green Tea est maintenant activé par défaut.
- Les frais généraux pour CGO ont été réduits d'environ 30%.
- Le compilateur peut allouer de la mémoire de réserve pour des structures Slice dans un plus grand nombre de situations, ce qui améliore les performances.
Outils :
- La commande go fix a été entièrement réécrite en utilisant le framework analysis et comprend désormais plusieurs dizaines de « modernisateurs » qui proposent des corrections sécuritaires, aidant votre code à tirer parti des nouvelles fonctionnalités du langage et de la bibliothèque standard.
Des ajouts expérimentaux ont été ajoutés, disponibles uniquement si explicitement activés :
- Package archsimd pour accéder aux opérations SIMD dépendant de l'architecture. Actuellement, seul AMD64 est pris en charge.
- Package secret avec des fonctions auxiliaires pour réinitialiser la mémoire.
- Dans le package de profilage pprof le support de l'option GOEXPERIMENT=goroutineleakprofile a été ajouté pour détecter les fuites de goroutine.
>>> Liste complète des changements
Source : linux.org.ru
