Skip to content

Go Standardbibliothek Einführung

Zum Zeitpunkt der Erstellung dieses Artikels hat Go die Version 1.21 erreicht. Es ist fast über ein Jahr vergangen, seit diese Website erstellt wurde.

Die Standardbibliothek von Go ist sehr umfangreich (mit Ausnahme von Datenstrukturen) und sehr leistungsfähig. Die API ist sehr entwicklerfreundlich. Die Beherrschung der Standardbibliothek ist für die tägliche Entwicklung sehr hilfreich. Zum Beispiel können Sie ohne externe Abhängigkeiten nur mit net/http, html/template und database/sql ein eigenständiges, vollständiges Web-Projekt entwickeln.

Der Inhalt der Standardbibliothek wurde nicht aktualisiert, weil es einfach zu viele Inhalte gibt. Im Folgenden werden daher kurz die gängigsten Standardbibliotheken und ihre Funktionen beschrieben, damit Sie die für Sie interessanten auswählen können. Die Paketkommentare jeder Standardbibliothek erklären detailliert, wofür das Paket gedacht ist.

  • fmt, Paket für formatierte Ein- und Ausgabe
  • html, Paket für HTML-Template-Operationen
  • net, bietet eine Reihe von Netzwerk-Operationen, sehr mächtig
  • flag, Paket für Kommandozeilenparameter-Parsing
  • reflect, Paket für Reflexionsoperationen
  • log, eingebautes Protokoll-Paket
  • sort, Paket für Sortieroperationen
  • regex, Paket für reguläre Ausdrücke
  • image, Paket für Bildoperationen
  • time, Paket für Zeitoperationen
  • unicode, Paket für Unicode-Zeichensatzoperationen
  • unsafe, bietet Zeigeroperationen ohne Typbeschränkungen
  • syscall, Systemaufruf-Paket des Betriebssystems
  • testing, Test-Paket, hauptsächlich beim Schreiben von Tests verwendet
  • sync, Paket für nebenläufige Operationen
  • context, Kontext-Paket
  • strconv, Paket für String-Konvertierung
  • strings, Paket für String-Operationen
  • bytes, Paket für Byte-Slice-Operationen
  • maps, Map-Operations-Paket
  • slices, Slice-Operations-Paket
  • io, definiert eine Reihe grundlegender IO-Schnittstellen wie z.B. Closer, Writer usw., sowie einige grundlegende IO-Operationsfunktionen
  • io/fs, definiert eine Reihe von Dateisystem-Schnittstellen, gewissermaßen eine Abstraktion des Dateisystems
  • os, Paket für die Interaktion mit dem Betriebssystem, bietet eine Reihe konkreter Funktionen. Kann einfach als konkrete Implementierung der oben genannten verstanden werden
  • os/signal, Betriebssystem-Signal-Paket, zum Abhören von Betriebssignalen, hauptsächlich für elegantes Herunterfahren von Programmen
  • os/exec, Betriebssystem-Befehls-Paket, zum Ausführen von Betriebssystembefehlen
  • os/user, Betriebssystem-Benutzer-Paket, zum Abrufen von Benutzerinformationen des Betriebssystems
  • bufio, Paket für gepuffertes IO-Lesen und -Schreiben
  • path, Paket zur Verarbeitung von schrägstrichgetrennten Pfaden, z.B. URLs
  • path/filepath, Paket zur Verarbeitung von Dateipfaden
  • math, Paket für mathematische Operationen
  • math/bits, Paket für Bit-Operationen
  • math/cmplx, Paket für komplexe Zahlen, bietet auch einige trigonometrische Hilfsfunktionen
  • math/rand, Paket für Pseudo-Zufallszahlen
  • math/big, Paket für hochpräzise Berechnungen mit großen Zahlen
  • container/heap, Implementierung eines Min-Heaps
  • container/list, Implementierung einer doppelt verketteten Liste
  • container/ring, Implementierung eines Rings
  • archive/zip, Paket für ZIP-Komprimierung und Archivierung
  • archive/tar, Paket für TAR-Archivdateien
  • compress, Paket für Komprimierungsalgorithmen, wie z.B. gzip, flate
  • database/sql, Paket für die Interaktion mit Datenbanken
  • encoding, Paket für die Kodierungsverarbeitung, mit vielen Unterpaketen wie json, xml usw., sowie base64
  • crypto, Paket für Verschlüsselung, mit vielen Unterpaketen wie sha1, rsa usw.
  • go/ast, Paket für die Abbildung von Go-Quellcode in einen abstrakten Syntaxbaum
  • go/parser, Paket zum Parsen von Go-Quellcode in einen abstrakten Syntaxbaum
  • go/importer, bietet Zugriff auf Importer
  • go/format, Go-Sprachformatierungs-Paket
  • arena, bietet manuelle Speicherzuweisung und -freigabe, noch im Experimentierstadium
  • runtime, Laufzeit-Operations-Paket, viele Operationen in Go werden durch dieses Paket implementiert

Golang by www.golangdev.cn edit