„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich Modulversionen aus Code in Go abrufen?

Wie kann ich Modulversionen aus Code in Go abrufen?

Veröffentlicht am 09.11.2024
Durchsuche:233

How Can I Retrieve Module Versions from Code in Go?

Modulversionen aus Code in Go abrufen

In Go bietet das Laufzeit-/Debugpaket Zugriff auf detaillierte Informationen zu den Abhängigkeiten und Modulen eines Programms . Mit dieser Funktionalität können Sie Modulversionen innerhalb des Codes abrufen und anzeigen.

Die Funktion debug.ReadBuildInfo() gibt eine BuildInfo-Struktur zurück, die eine Liste aller importierten Abhängigkeiten enthält. Jedes Modul oder jede Abhängigkeit wird durch eine Modulstruktur dargestellt, die die folgenden Felder enthält:

  • Pfad: Der Importpfad des Moduls.
  • Version: Die Version des Moduls.
  • Summe: Die Prüfsumme des Modulcodes.
  • Ersetzen: Das Modul, das dieses ersetzt, falls vorhanden.

Um die Modulversionen abzurufen und anzuzeigen, können Sie Code wie verwenden Dies:

package main

import (
    "fmt"
    "log"
    "runtime/debug"
)

func main() {
    bi, ok := debug.ReadBuildInfo()
    if !ok {
        log.Printf("Failed to read build info")
        return
    }

    for _, dep := range bi.Deps {
        fmt.Printf("Module: %s, Version: %s\n", dep.Path, dep.Version)
    }
}

In diesem Beispiel werden die Modul- und Abhängigkeitsinformationen in eine BuildInfo-Struktur geladen, die Abhängigkeiten durchlaufen und deren Pfade und Versionen ausgegeben. Sie können diesen Code ändern, um die Informationen in Ihrem gewünschten Format anzuzeigen, wie zum Beispiel im Beispiel in der Frage.

Dieser Ansatz vermeidet die Notwendigkeit, ldflags zum externen Festlegen der Versionen zu verwenden. Stattdessen stützt es sich auf Informationen, die von Go selbst bereitgestellt werden, was es zu einer zuverlässigen und skalierbaren Lösung für die Verwaltung von Modulversionen macht.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3