Skip to content

Introduction à la bibliothèque standard Go

Au moment d'écrire cet article, la version de Go a atteint la 1.21, et cela fait déjà plus d'un an depuis la création de ce site.

La bibliothèque standard de Go est très riche (à l'exception des structures de données), avec des fonctionnalités puissantes et une API très conviviale pour les développeurs. Maîtriser la bibliothèque standard sera d'une grande aide pour le développement quotidien. Par exemple, vous pouvez développer un projet Web complet et indépendant en utilisant uniquement net/http, html/template, database/sql sans aucune dépendance externe.

Le contenu de la bibliothèque standard n'a pas été mis à jour car il y a vraiment trop de contenu. Voici donc un bref aperçu des bibliothèques standard couramment utilisées, afin que vous puissiez choisir celles qui vous intéressent. Les commentaires au niveau du package de chaque bibliothèque standard expliqueront en détail à quoi sert le package.

  • fmt, package pour gérer les entrées et sorties formatées
  • html, package pour les opérations de templates HTML
  • net, package fournissant une série d'opérations réseau, très puissant
  • flag, package pour l'analyse des arguments de ligne de commande
  • reflect, package pour les opérations de réflexion
  • log, package de journalisation intégré
  • sort, package pour les opérations de tri
  • regex, package pour les expressions régulières
  • image, package pour les opérations sur les images
  • time, package pour les opérations sur le temps
  • unicode, package pour les opérations sur le jeu de caractères Unicode
  • unsafe, fournissant des opérations de pointeur sans restriction de type
  • syscall, package d'appels système fourni par le système d'exploitation
  • testing, package de test, principalement utilisé pour écrire des tests
  • sync, package pour les opérations concurrentes
  • context, package de contexte
  • strconv, package de conversion de chaînes
  • strings, package d'opérations sur les chaînes
  • bytes, package d'opérations sur les tranches d'octets
  • maps, package d'opérations sur les maps
  • slices, package d'opérations sur les tranches
  • io, définit une série d'interfaces IO de base, comme Closer, Writer couramment utilisés, ainsi que des fonctions IO de base
  • io/fs, définit une série d'interfaces de système de fichiers, une abstraction du système de fichiers
  • os, package d'interaction avec le système d'exploitation, fournissant une série de fonctions concrètes, peut être simplement considéré comme l'implémentation concrète des deux précédents
  • os/signal, package de signaux du système d'exploitation, utilisé pour écouter les signaux du système d'exploitation, principalement pour implémenter l'arrêt gracieux des programmes
  • os/exec, package de commandes du système d'exploitation, utilisé pour exécuter des commandes système
  • os/user, package d'utilisateurs du système d'exploitation, utilisé pour obtenir les informations des utilisateurs du système
  • bufio, package de lecture/écriture IO avec tampon
  • path, package pour traiter les chemins séparés par des barres obliques, comme les URL
  • path/filepath, package pour traiter les chemins de fichiers
  • math, package d'opérations mathématiques
  • math/bits, package d'opérations bit à bit
  • math/cmplx, package d'opérations sur les nombres complexes, fournit également des fonctions utilitaires trigonométriques
  • math/rand, package de nombres pseudo-aléatoires
  • math/big, package de calcul de haute précision pour les grands nombres
  • container/heap, implémentation du tas minimum
  • container/list, implémentation de la liste doublement chaînée
  • container/ring, implémentation de l'anneau
  • archive/zip, package d'archivage et de compression zip
  • archive/tar, package de fichiers d'archive tar
  • compress, package d'implémentation d'algorithmes de compression, comme gzip, flate
  • database/sql, package d'interaction avec les bases de données
  • encoding, package de traitement d'encodage, avec de nombreux sous-packages comme json, xml, et aussi base64
  • crypto, package de traitement de chiffrement, avec de nombreux sous-packages comme sha1, rsa, etc.
  • go/ast, package de mappage de l'arbre syntaxique abstrait du code source Go
  • go/parser, package pour analyser le code source Go en arbre syntaxique abstrait
  • go/importer, fournit l'accès à l'importateur
  • go/format, package de formatage du langage Go
  • arena, fournit la fonctionnalité d'allocation et de libération manuelle de mémoire, en phase expérimentale
  • runtime, package d'opérations d'exécution, de nombreuses opérations en Go sont implémentées par ce package

Golang by www.golangdev.cn edit