Gibt es in Go eine Möglichkeit, alle Standard- / integrierten Pakete aufzulisten (dh die Pakete, die mit einer Go-Installation installiert werden)?
Ich habe eine Liste von Paketen und möchte herausfinden, welche Pakete Standard sind.
go
go-packages
Alok Kumar Singh
quelle
quelle
Go
Standardpakete golang.org/pkgisStandardPackage(importPath string) bool
die ich verwenden kann?.
ist entweder ein eigenes internes Paket oder Teil der Standardbibliothek.Antworten:
Sie können das Neue
golang.org/x/tools/go/packages
dafür verwenden. Dies bietet eine programmatische Schnittstelle für die meisten vongo list
:Um eine zu erhalten
isStandardPackage()
, können Sie sie wie folgt in einer Karte speichern:quelle
ok
und diesen schönen Artikel gefunden. reddit.com/r/golang/comments/35d0b2/about_the_comma_ok_idiompackages.Load(nil, "std")
Aufruf führt dengo list
Befehl aus und analysiert die Ausgabe. Ich stelle dies für andere fest, die möglicherweise auch die falsche Annahme treffen, dass das Paket die Befehlsimplementierung bereitstellt.Verwenden Sie den
go list std
Befehl, um die Standardpakete aufzulisten. Der spezielle Importpfad wirdstd
auf alle Pakete in der Standard-Go-Bibliothek ( doc ) erweitert.Führen Sie diesen Befehl aus, um die Liste in einem Go-Programm abzurufen:
quelle
Wenn Sie eine einfache Lösung wünschen, können Sie überprüfen, ob ein Paket in $ GOROOT / pkg vorhanden ist. Alle Standardpakete werden hier installiert.
quelle