Modulversionen aus ausführbaren Go-Dateien extrahieren
In binären ausführbaren Go-Dateien bettet das Go-Tool Modul- und Abhängigkeitsinformationen ein. Auf diese Informationen kann mit der Funktion „runtime/debug.ReadBuildInfo()“ zugegriffen werden.
Problem
Sie müssen die Versionen der Module anzeigen, die in Ihren ausführbaren Go-Dateien verwendet werden. aber Sie haben Schwierigkeiten mit der Umsetzung. Sie haben über die Verwendung von ldflags nachgedacht, aber es ist nicht skalierbar.
Lösung
debug.ReadBuildInfo() gibt eine Liste von debug.Module-Instanzen zurück, die Folgendes bereitstellen Informationen:
Codebeispiel
Der folgende Code zeigt, wie ReadBuildInfo() zum Abrufen von Modulversionen verwendet wird:
<code class="go">package main import ( "fmt" "runtime/debug" ) func main() { bi, ok := debug.ReadBuildInfo() if !ok { // Handle failure } for _, dep := range bi.Deps { fmt.Printf("Dependency: %s, Version: %s\n", dep.Path, dep.Version) } }</code>
Dieses Beispiel wird Gibt die Pfade und Versionen aller von der ausführbaren Datei verwendeten Abhängigkeiten aus.
Das obige ist der detaillierte Inhalt vonWie kann ich Modulversionen aus ausführbaren Go-Dateien extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!