Heim >Backend-Entwicklung >Golang >Wie rufen Sie GOOS- und GOARCH-Werte aus einer kompilierten ausführbaren Go-Datei ab?
Bestimmen der GOOS- und GOARCH-Werte für erstellte ausführbare Go-Dateien
In Go definieren die Umgebungsvariablen GOOS und GOARCH das Zielbetriebssystem und die Zielarchitektur, für die ein Programm erstellt wird. Diese Informationen sind für das Kompilieren und Ausführen von ausführbaren Go-Dateien von entscheidender Bedeutung.
Um diese Werte für eine kompilierte ausführbare Go-Datei abzurufen, können Sie das Laufzeitpaket verwenden. Wie in der Dokumentation angegeben:
GOARCH, GOOS und GOROOT werden zur Kompilierungszeit aufgezeichnet
Die Konstanten runtime.GOOS und runtime.GOARCH ermöglichen den Zugriff auf diese Werte. Sie spiegeln die genauen Einstellungen wider, die während der Kompilierung Ihrer ausführbaren Datei verwendet wurden.
Um dies zu veranschaulichen, betrachten Sie das folgende einfache Go-Programm:
<code class="go">package main import "fmt" func main() { fmt.Println(runtime.GOOS) fmt.Println(runtime.GOARCH) }</code>
Wenn Sie dieses Programm in eine ausführbare Datei einbauen, wird das aufgezeichnet Die Werte von GOOS und GOARCH bleiben in der ausführbaren Datei bestehen. Beim Ausführen der ausführbaren Datei werden das Zielbetriebssystem und die Architektur ausgegeben, die während der Kompilierung verwendet wurden.
Wenn die ausführbare Datei beispielsweise mit GOOS=linux und GOARCH=amd64 erstellt wurde, würde die Ausführung Folgendes ausgeben:
linux amd64
Auch wenn Sie die Umgebungsvariablen nachträglich ändern, gibt die ausführbare Datei weiterhin die ursprünglich aufgezeichneten Werte aus.
Daher von Durch die Untersuchung der Konstanten runtime.GOOS und runtime.GOARCH können Sie das Zielbetriebssystem und die Zielarchitektur ermitteln, für die eine bestimmte ausführbare Go-Datei kompiliert wurde.
Das obige ist der detaillierte Inhalt vonWie rufen Sie GOOS- und GOARCH-Werte aus einer kompilierten ausführbaren Go-Datei ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!