Existe-t-il un moyen dans Go de répertorier tous les packages standard / intégrés (c'est-à-dire les packages qui sont installés avec une installation Go)?
J'ai une liste de packages et je veux savoir quels packages sont standard.
go
go-packages
Alok Kumar Singh
la source
la source
Go
Paquets par défaut golang.org/pkgisStandardPackage(importPath string) bool
que je peux utiliser?.
est soit un package interne de votre choix, soit une partie de la bibliothèque standard.Réponses:
Vous pouvez utiliser le nouveau
golang.org/x/tools/go/packages
pour cela. Cela fournit une interface programmatique pour la plupart desgo list
:Pour obtenir un,
isStandardPackage()
vous pouvez le stocker dans une carte, comme ceci:la source
ok
vient et trouvé ce bel article. reddit.com/r/golang/comments/35d0b2/about_the_comma_ok_idiompackages.Load(nil, "std")
appel exécute lago list
commande et analyse la sortie. Je note cela pour d'autres qui pourraient également faire l'hypothèse incorrecte que le package fournit l'implémentation de la commande.Utilisez la
go list std
commande pour répertorier les packages standard. Le chemin d'importation spécialstd
s'étend à tous les packages de la bibliothèque Go standard ( doc ).Exécutez cette commande pour obtenir la liste dans un programme Go:
la source
Si vous voulez une solution simple, vous pouvez vérifier si un paquet est présent dans $ GOROOT / pkg. Tous les packages standard sont installés ici.
la source