- Changements du langage
- Go 1.24 prend désormais entièrement en charge les alias de types génériques. Les alias de type peuvent recevoir des paramètres comme les types définis.
- Améliorations des performances
- Plusieurs optimisations ont été apportées au runtime, réduisant en moyenne de 2 à 3 % la surcharge CPU sur des benchmarks représentatifs.
- Cela inclut une nouvelle implémentation intégrée des maps, une meilleure efficacité de l’allocation mémoire pour les petits objets, ainsi qu’une nouvelle implémentation interne des mutex du runtime.
- Améliorations des outils
- La commande
go fournit un mécanisme pour suivre les dépendances d’outils d’un module. Vous pouvez utiliser go get -tool pour ajouter des directives d’outils au module courant.
- Le nouvel analyseur de tests de la sous-commande
go vet signale les erreurs courantes dans les déclarations de tests, fuzzers, benchmarks et exemples des paquets de test.
- Ajouts à la bibliothèque standard
- La bibliothèque standard inclut un nouveau mécanisme de conformité FIPS 140-3, sans nécessiter de modification du code source pour utiliser des algorithmes approuvés.
- Plusieurs paquets auparavant présents dans le module x/crypto sont désormais disponibles dans la bibliothèque standard.
- Les benchmarks peuvent désormais utiliser la méthode
testing.B.Loop, plus rapide et moins sujette aux erreurs.
- Le nouveau type
os.Root permet d’effectuer des opérations sur le système de fichiers sous un répertoire donné.
- Le runtime fournit un nouveau mécanisme de nettoyage,
runtime.AddCleanup, plus flexible, plus efficace et moins sujet aux erreurs que runtime.SetFinalizer.
- Amélioration de la prise en charge de WebAssembly
- Go 1.24 ajoute la directive
go:wasmexport, qui permet aux programmes Go d’exporter des fonctions vers des hôtes WebAssembly, et prend en charge la compilation de programmes Go en tant que réacteurs/bibliothèques WASI.
1 commentaires
Avis Hacker News
text/templateprenne désormais en charge les types fonctionrangesur les types fonction, mais cela ne fonctionne que maintenant dans les templates Gogo install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latestos.RootChrooten interne, j’imagine que quelqu’un finira par trouver un moyen de s’échapper de Roottools.goGODEBUG=fips140=only, les algorithmes cryptographiques non conformes à FIPS 140-3 renvoient une erreur ou déclenchent un panicGOAUTHgo help goauth, je ne me fais pas de trop grandes illusions