Go 1.27 est disponible avec des méthodes génériques
Original : Go 1.27
Pourquoi c'est important
Les méthodes génériques et les gains de performance renforcent la compétitivité de Go pour les systèmes à grande échelle.
Le 19 août 2026, l'équipe Go a publié Go 1.27, introduisant les méthodes génériques, des améliorations de l'outillage et une réduction des coûts d'allocation mémoire jusqu'à 30% pour les petits objets inférieurs à 80 octets.
Go 1.27 apporte trois évolutions majeures au langage. Premièrement, les méthodes génériques sont désormais supportées, permettant par exemple à `math/rand/v2.Rand` d'exposer une méthode `N[Int intType]` unique à la place de méthodes distinctes par type. Deuxièmement, les clés dans les littéraux de struct peuvent désormais référencer directement des champs de structs imbriqués ou embarqués. Troisièmement, l'inférence de type pour les fonctions génériques s'applique dans tous les contextes d'affectation, y compris les littéraux composites, les conversions de type et les envois sur canaux. Côté outillage, `go fix` intègre de nouveaux moderniseurs (`atomictypes`, `embedlit`, `slicesbackward`, `unsafefuncs`), `go doc` supporte les requêtes `package@version`, et `go mod tidy` consolide automatiquement les blocs `require` du fichier `go.mod`. Sur le plan des performances, une allocation mémoire spécialisée par taille réduit les coûts d'allocation des petits objets (< 80 octets) jusqu'à 30%, améliorant les performances globales d'environ 1% pour les programmes intensifs en allocations. Le profil `goroutineleak` dans `runtime/pprof` est désormais en disponibilité générale. La bibliothèque standard reçoit également `encoding/json/v2`.