Go-Sprachpaket: 1. fmt; 3. bufio; 7. sync; 11. net/http; 12. reflektieren usw.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, GO 1.11.2, Dell G3-Computer.
Die Wiederverwendung des Quellcodes der Go-Sprache basiert auf Paketen. Die Eintragsfunktion main() der Go-Sprache befindet sich in einem Paket namens main. Wenn das Hauptpaket auf andere Codes verweisen möchte, muss es auch in Form eines Pakets referenziert werden Inhalt des Pakets und wie man andere Pakete importiert.
Go-Sprachpakete haben eine Eins-zu-eins-Entsprechung mit Ordnern. Alle paketbezogenen Vorgänge müssen vom Arbeitsverzeichnis (GOPATH) abhängen.
Die Standardcodebasis der Go-Sprache enthält eine große Anzahl von Paketen, und die meisten davon werden bei der Installation von Go automatisch im System installiert. Wir können diese Pakete im $GOROOT/src/pkg
-Verzeichnis anzeigen. Im Folgenden finden Sie eine kurze Einführung in einige Pakete, die häufig in unserer Entwicklung verwendet werden.
1) fmt
fmt-Paket implementiert formatierte Standardeingabe und -ausgabe, die printf und scanf in der C-Sprache ähneln. Unter diesen sind fmt.Printf() und fmt.Println() die von Entwicklern am häufigsten verwendeten Funktionen.
Formatierungsphrasen werden aus der C-Sprache abgeleitet. Einige Phrasen (%-Sequenzen) werden wie folgt verwendet:
%v: der Standardformatwert. Beim Drucken einer Struktur fügt das Pluszeichen (%+v) den Feldnamen hinzu;
%#v: Wertausdruck im Go-Stil
%T: Wertausdruck im Go-Stil mit Typ.
2) io
Dieses Paket stellt die ursprüngliche E/A-Betriebsschnittstelle bereit. Seine Hauptaufgabe besteht darin, primitive E/A wie das Betriebssystempaket zu kapseln und einige andere verwandte Funktionen hinzuzufügen, um abstrakte Funktionen für die Verwendung auf öffentlichen Schnittstellen bereitzustellen.
3) bufio
Das Bufio-Paket bietet eine Datenpufferungsfunktion durch Kapselung des io-Pakets, wodurch der durch das Lesen und Schreiben großer Datenblöcke verursachte Overhead bis zu einem gewissen Grad reduziert werden kann.
In jeder Komponente von bufio wird ein Puffer verwaltet, und Datenlese- und -schreibvorgänge werden direkt über den Pufferbereich ausgeführt. Wenn ein Lese- oder Schreibvorgang initiiert wird, wird zunächst versucht, Daten aus dem Puffer abzurufen. Nur wenn sich keine Daten im Puffer befinden, werden die Daten von der Datenquelle abgerufen und der Puffer aktualisiert.
4) sort
sort-Paket bietet Funktionen zum Sortieren von Slices und benutzerdefinierten Sammlungen.
5) strconv
Das strconv-Paket bietet Funktionen zum Konvertieren von Zeichenfolgen in Basisdatentypen oder von Basisdatentypen in Zeichenfolgen.
6) os
os-Paket bietet eine plattformunabhängige Betriebssystem-Funktionsschnittstelle, die im Unix-Stil gestaltet ist, aber die Fehlerbehandlung erfolgt im Go-Stil. Wenn das Betriebssystem-Paket verwendet wird, wird stattdessen der Fehlertyp zurückgegeben der Fehlernummer.
7) Das sync
sync-Paket implementiert einen Multithread-Sperrmechanismus und andere Mechanismen zum gegenseitigen Ausschluss der Synchronisierung.
8) Das Paket flag
flag bietet die Funktion der Regeldefinition von Befehlszeilenparametern und der Analyse eingehender Parameter. Die meisten Befehlszeilenprogramme erfordern dieses Paket.
9) Kodierung/JSON
JSON wird derzeit häufig als Kommunikationsformat in Netzwerkprogrammen verwendet. Das Paket „encoding/json“ bietet grundlegende Unterstützung für JSON, z. B. die Serialisierung von einem Objekt in eine JSON-Zeichenfolge oder die Deserialisierung eines bestimmten Objekts aus einer JSON-Zeichenfolge.
10) html/template
implementiert hauptsächlich einige Funktionen zum Generieren von HTML-Vorlagen in der Webentwicklung.
11) net/http
net/http-Paket bietet HTTP-bezogene Dienste, hauptsächlich einschließlich http-Anfragen, -Antworten und URL-Analyse sowie grundlegende http-Clients und erweiterte http-Dienste.
Mit dem net/http-Paket können Sie mit nur wenigen Codezeilen einen Crawler oder einen Webserver implementieren, was in herkömmlichen Sprachen unvorstellbar ist.
12) Reflect
Das Reflect-Paket implementiert die Laufzeitreflexion und ermöglicht es Programmen, Objekte über abstrakte Typen zu manipulieren. Es wird normalerweise verwendet, um den Wert der statischen Typschnittstelle {} zu verarbeiten und seine dynamischen Typinformationen über Typeof zu analysieren, wobei normalerweise ein Objekt mit dem Schnittstellentyp Type zurückgegeben wird.
13) os/exec
Das os/exec-Paket stellt entsprechende Implementierungen zum Ausführen benutzerdefinierter Linux-Befehle bereit.
14) Strings
Das Strings-Paket ist hauptsächlich eine Sammlung von Funktionen zur Verarbeitung von Strings, einschließlich Zusammenführen, Suchen, Teilen, Vergleichen, Suffixprüfung, Indizierung, Fallverarbeitung usw.
Die Funktionsschnittstellenfunktionen des Strings-Pakets und des Bytes-Pakets sind grundsätzlich gleich.
15) Bytes
Das Bytes-Paket bietet eine Reihe von Funktionen zum Lesen und Schreiben von Byte-Slices. Es gibt viele Funktionen für die Byte-Slicing-Verarbeitung, die in grundlegende Verarbeitungsfunktionen, Vergleichsfunktionen, Suffix-Prüffunktionen, Indexfunktionen, Teilungsfunktionen, Fallverarbeitungsfunktionen und Sub-Slicing-Verarbeitungsfunktionen unterteilt sind.
16) Das log
log-Paket wird hauptsächlich zur Ausgabe von Protokollen im Programm verwendet.
Das Protokollpaket bietet drei Arten von Protokollausgabeschnittstellen: Drucken, Fatal und Panic.
Drucken ist eine normale Ausgabe
Fatal ist die Ausführung von os.Exit(1) nach der Ausführung von Print;
Panic bedeutet, die Methode panic() nach der Ausführung von Print aufzurufen.
Empfohlenes Lernen: Golang-Tutorial
Das obige ist der detaillierte Inhalt vonWelche Pakete gibt es in der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!