Maison > Article > développement back-end > Quels packages existe-t-il en langage Go ?
Paquet de langue : 1. fmt; 2. io; 3. bufio; 5. strconv; html/modèle ; 11. net/http ; 12. refléter, etc.
L'environnement d'exploitation de ce tutoriel : système Windows 10, GO 1.11.2, ordinateur Dell G3.
La réutilisation du code source du langage Go est basée sur les packages. La fonction d'entrée main() du langage Go se trouve dans un package appelé main Si le package main souhaite référencer d'autres codes, il doit également être référencé sous la forme d'un package. Ce chapitre expliquera en détail comment exporter le code. contenu du package et comment importer d’autres packages.
Les packages de langue Go ont une correspondance biunivoque avec les dossiers. Toutes les opérations liées au package doivent dépendre du répertoire de travail (GOPATH).
La base de code standard du langage Go contient un grand nombre de packages, et la plupart d'entre eux seront automatiquement installés dans le système lors de l'installation de Go. Nous pouvons visualiser ces packages dans le répertoire $GOROOT/src/pkg
. Ce qui suit est une brève introduction à certains packages couramment utilisés dans notre développement.
1) fmt
Le package fmt implémente une entrée et une sortie standard formatées, similaires à printf et scanf en langage C. Parmi elles, fmt.Printf() et fmt.Println() sont les fonctions les plus fréquemment utilisées par les développeurs.
Les phrases de formatage sont dérivées du langage C. Certaines phrases (séquences %-) sont utilisées comme ceci :
%v : La valeur de format par défaut. Lors de l'impression de la structure, le signe plus (%+v) ajoutera le nom du champ
%#v : Go style value expression ; 🎜 >%T : expression de valeur de style Go avec type.
Ce package fournit l'interface d'opération d'E/S d'origine. Sa tâche principale est d'encapsuler les E/S primitives telles que le package os, et d'ajouter d'autres fonctions associées pour lui donner des fonctions abstraites à utiliser sur les interfaces publiques.
3) bufioLe package bufio fournit une fonction de mise en mémoire tampon des données en encapsulant le package io, ce qui peut réduire la surcharge causée par la lecture et l'écriture de gros blocs de données sur dans une certaine mesure. Un tampon est conservé à l'intérieur de chaque composant de bufio, et les opérations de lecture et d'écriture des données sont effectuées directement via la zone tampon. Lorsqu'une opération de lecture ou d'écriture est lancée, elle tentera d'abord d'obtenir des données du tampon. Seulement lorsqu'il n'y a pas de données dans le tampon, les données seront obtenues de la source de données et le tampon sera mis à jour.
4) trierLe package de tri fournit des fonctions pour trier les tranches et les collections définies par l'utilisateur.
5) strconvLe package strconv fournit la fonction de conversion de chaînes en types de données de base, ou de conversion de types de données de base en chaînes.
6) le package osos fournit une interface de fonction de système d'exploitation indépendante de la plate-forme, conçue comme le style Unix, mais la gestion des erreurs est de style go, lorsque le package os est used En cas d'échec, le type d'erreur est renvoyé à la place du numéro d'erreur.
7) syncLe package de synchronisation implémente un mécanisme de verrouillage multithread et d'autres mécanismes d'exclusion mutuelle de synchronisation.
8) flagLe package flag fournit la fonction de définition de règles pour les paramètres de ligne de commande et d'analyse des paramètres entrants. La plupart des programmes en ligne de commande nécessitent ce package.
9) encoding/jsonJSON est actuellement largement utilisé comme format de communication dans les programmes réseau. Le package encoding/json fournit une prise en charge de base pour JSON, comme la sérialisation d'un objet vers une chaîne JSON ou la désérialisation d'un objet spécifique à partir d'une chaîne JSON.
10) html/templateImplémente principalement certaines fonctions de génération de modèles HTML dans le développement Web.
11) net/httpLe package net/http fournit des services liés à HTTP, comprenant principalement les requêtes http, les réponses et l'analyse d'URL, ainsi qu'un client http de base et Service http étendu. Avec le package net/http, vous pouvez implémenter un robot ou un serveur web avec seulement quelques lignes de code, ce qui est inimaginable dans les langages traditionnels.
12) ReflectLe package Reflect implémente la réflexion à l'exécution, permettant aux programmes de manipuler des objets via des types abstraits. Il est généralement utilisé pour traiter la valeur du type statique interface{} et analyser ses informations de type dynamique via Typeof, renvoyant généralement un objet avec le type d'interface Type.
13) os/execLe package os/exec fournit des implémentations associées pour l'exécution de commandes Linux personnalisées.
14) chaînesLe package de chaînes est principalement un ensemble de fonctions pour le traitement des chaînes, notamment la fusion, la recherche, le fractionnement, la comparaison, la vérification des suffixes, l'indexation et la casse. traitement, etc. Les fonctions d'interface de fonction du package strings et du package bytes sont fondamentalement les mêmes.
15) bytesLe package bytes fournit une série de fonctions pour lire et écrire des tranches d'octets. Il existe de nombreuses fonctions pour le traitement de découpage d'octets, qui sont divisées en fonctions de traitement de base, fonctions de comparaison, fonctions de vérification de suffixe, fonctions d'index, fonctions de fractionnement, fonctions de traitement de cas et fonctions de traitement de sous-tranchage.
16) logle package log est principalement utilisé pour générer des journaux dans le programme. Le package de journaux fournit trois types d'interfaces de sortie de journaux : Impression, Fatale et Panique.
L'impression est une sortie normale
Fatal consiste à exécuter os.Exit(1) après avoir exécuté Print ;
Panic consiste à appeler la méthode panic() après avoir exécuté Print.
Apprentissage recommandé : Tutoriel Golang
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!