當給定一個可執行檔案時,確定在其執行過程中使用的GOOS(作業系統)和GOARCH(處理器架構)的值編譯就變得必要了。此查詢的重點是確定從可執行檔本身檢索這些值的機制。
Go 中的運行時包提供了對程式運行時特徵的深入了解。具體來說,它包含提供有關 GOOS、GOARCH、GOPATH 和 GOROOT 環境變數資訊的常數或函數。
要確定GOOS 和GOARCH 值,運行時套件提供以下常數:
這些常數保存在編譯時設定的確切值。
考慮以下程式碼snippet:
package main import ( "fmt" "runtime" ) func main() { fmt.Println(runtime.GOOS) fmt.Println(runtime.GOARCH) }
這個程式執行時,會輸出編譯時指定的GOOS和GOARCH的值。例如,如果 GOOS 設定為“windows”並且 GOARCH 設定為“amd64”,程式將列印:
windows amd64
即使 GOOS 和 GOARCH 隨後被修改,這也將保持不變。儲存在執行時間包常數中的值仍然是編譯時指定的值。
以上是如何從 Go 可執行檔檢索 GOOS 和 GOARCH 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!