Maison > Article > développement back-end > Comment puis-je récupérer les versions de modules à partir de Go Code ?
Récupération des versions de modules à partir du code Go
Les outils Go incluent des informations sur les modules et les dépendances dans le binaire compilé. Exploitant cette fonctionnalité, la fonction runtime/debug.ReadBuildInfo() présente une méthode pour accéder à ces données pendant l'exécution de votre application. Il fournit un tableau contenant les détails des dépendances, y compris le chemin du module et le numéro de version.
Pour chaque module ou dépendance, ce tableau contient une structure debug.Module, détaillée ci-dessous :
type Module struct { Path string // module path Version string // module version Sum string // checksum Replace *Module // replaced by this module }
Pour illustrent ce processus :
package main import ( "fmt" "log" "runtime/debug" "github.com/icza/bitio" ) func main() { _ = bitio.NewReader bi, ok := debug.ReadBuildInfo() if !ok { log.Printf("Failed to read build info") return } for _, dep := range bi.Deps { fmt.Printf("Dep: %+v\n", dep) } }
Lorsqu'il est exécuté sur Go Playground, il produit le résultat suivant :
Dep: &{Path:github.com/icza/bitio Version:v1.0.0 Sum:h1:squ/m1SHyFeCA6+6Gyol1AxV9nmPPlJFT8c2vKdj3U8= Replace:<nil>}
Reportez-vous à la question connexe pour plus d'informations : Comment acquérir une version Go détaillée logs, ainsi que tous les packages utilisés dans les modes GOPATH et "go module" ?
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!