Maison > développement back-end > Golang > Comment puis-je récupérer les versions de modules à partir de Go Code ?

Comment puis-je récupérer les versions de modules à partir de Go Code ?

Susan Sarandon
Libérer: 2024-11-03 09:03:29
original
900 Les gens l'ont consulté

How Can I Retrieve Module Versions from Within 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
}
Copier après la connexion

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)
    }
}
Copier après la connexion

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>}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal