Heim > Artikel > Backend-Entwicklung > Wie identifiziere ich die GOOS- und GOARCH-Werte einer ausführbaren Datei ohne ihre Codebasis?
Bestimmen der GOOS- und GOARCH-Werte einer ausführbaren Datei
Es ist möglich, die Werte von GOOS und GOARCH, dem Betriebssystem und der Prozessorarchitektur, zu ermitteln bzw. werden verwendet, um eine ausführbare Datei zu erstellen, ohne über die Codebasis selbst zu verfügen. Diese Informationen sind über Konstanten im Laufzeitpaket verfügbar.
runtime.GOOS und runtime.GOARCH
Das Laufzeitpaket stellt zwei Konstanten bereit: runtime.GOOS und runtime.GOARCH , die die Werte der entsprechenden Umgebungsvariablen zum Zeitpunkt der Kompilierung offenlegen. Auf diese Konstanten kann während der gesamten Ausführung der ausführbaren Datei zugegriffen werden, obwohl sie deren Laufzeitverhalten nicht beeinflussen.
Beispielimplementierung
Das folgende einfache Go-Programm veranschaulicht, wie das Laufzeitbetriebssystem und die Architektur abgerufen werden Informationen:
<code class="go">package main import ( "fmt" "runtime" ) func main() { fmt.Println("OS:", runtime.GOOS) fmt.Println("Architecture:", runtime.GOARCH) }</code>
Das Kompilieren und Ausführen dieses Programms mit angegebenen GOOS- und GOARCH-Werten (z. B. GOOS=windows GOARCH=amd64) druckt die erwartete Ausgabe:
OS: windows Architecture: amd64
Hinweis
Vor Go 1.10 gab runtime.GOROOT() den zur Kompilierungszeit aufgezeichneten GOROOT-Wert zurück. In Go 1.10 und höher wird jedoch nach der Umgebungsvariablen GOROOT gesucht und deren Wert verwendet, falls festgelegt.
Das obige ist der detaillierte Inhalt vonWie identifiziere ich die GOOS- und GOARCH-Werte einer ausführbaren Datei ohne ihre Codebasis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!