Cinq mois après la sortie de Go1.18, Go1.19 a été publié dans les délais. Cependant, la plupart de ses modifications concernent la chaîne d'outils, l'exécution et l'implémentation de la bibliothèque. Comme toujours, cette version maintient la promesse de compatibilité Go 1. Ainsi, presque tous les programmes Go continuent de se compiler et de s'exécuter comme avant.

image

Les changements importants dans Go 1.19 sont :

  • Go 1.19 complète et améliore Go 1.18. L'équipe de développement s'est concentrée sur le développement des génériques pour Go 1.19 sur la résolution de certains problèmes mineurs et des cas critiques signalés par la communauté, ainsi que sur des améliorations significatives des performances (jusqu'à 20 % pour certains programmes génériques).

  • Modèle de mémoire Go, veuillez vous référer à la documentation officielle pour plus de détails : https://go.dev/ref/mem. Avec la mise à jour du modèle de mémoire, Go 1.19 a introduit de nouveaux types dans le package sync/atomic : types Bool, Int32, Int64, Uint32, Uint64, Uintptr et Pointer, etc., ce qui rend l'utilisation des valeurs atomiques plus pratique.
  • En termes d'outils, le format du document est amélioré. Ajout de la prise en charge des liens, des listes et des en-têtes plus clairs dans les commentaires de la documentation. Pour plus de détails, voir : https://go.dev/doc/comment.
  • En termes d'exécution, le changement le plus notable est l'ajout de runtime/debug.SetMemoryLimit, qui peut limiter l'utilisation de la mémoire de Go.
  • En outre, Go 1.19 inclut diverses améliorations de performances et d'implémentation, notamment l'ajustement dynamique de la pile de goroutines initiale pour réduire la copie de pile, l'utilisation automatique de descripteurs de fichiers supplémentaires sur la plupart des systèmes Unix, l'utilisation d'instructions de commutateur volumineuses sur les tables de saut x86-64 et ARM64, la prise en charge pour les appels de fonction d'injection de débogueur sur ARM64, enregistrez la prise en charge d'ABI sur RISC-V et la prise en charge expérimentale de Linux s'exécutant sur l'architecture LoongArch 64 bits ( GOARCH=loong64 ).

D'autres sont de petits changements apportés à certaines bibliothèques.

Les modifications détaillées peuvent être trouvées dans les notes de publication officielles : https://go.dev/doc/go1.19.

Le site Web chinois en langue Go a également préparé le package de téléchargement de Go1.19 pour tout le monde : https://studygolang.com/dl.


Lecture recommandée

Bien-être

J'ai compilé un ensemble de supports d'apprentissage Go de l'entrée à l'avancé pour tout le monde , y compris des suggestions d'apprentissage : ce qu'il faut surveiller pour l'entrée et ce qu'il faut surveiller pour l'avancé. Suivez le compte public "polarisxu" et répondez à l' ebook pour l'obtenir ; vous pouvez aussi répondre à "rejoindre le groupe " pour communiquer et apprendre avec des dizaines de milliers de Gophers.

image