首頁 >後端開發 >Golang >如何在沒有程式碼庫的情況下識別可執行檔的 GOOS 和 GOARCH 值?

如何在沒有程式碼庫的情況下識別可執行檔的 GOOS 和 GOARCH 值?

Patricia Arquette
Patricia Arquette原創
2024-10-31 15:39:01397瀏覽

How to Identify the GOOS and GOARCH Values of an Executable Without Its Codebase?

決定執行檔的GOOS 和GOARCH 值

可以決定GOOS 和GOARCH 的值、作業系統和處理器架構分別用於在不擁有程式碼庫本身的情況下建立可執行檔。這些資訊可以透過runtime套件中的常數來獲得。

runtime.GOOS和runtime.GOARCH

runtime套件提供了兩個常數,runtime.GOOS和runtime.GOARCH ,它顯示編譯時對應環境變數的值。儘管不影響其運行時行為,但可以在整個可執行檔的執行過程中存取這些常數。

範例實作

以下簡單的Go 程式說明如何擷取執行時間作業系統和架構資訊:

<code class="go">package main

import (
    "fmt"
    "runtime"
)

func main() {
    fmt.Println("OS:", runtime.GOOS)
    fmt.Println("Architecture:", runtime.GOARCH)
}</code>

使用指定的GOOS和GOARCH 值(例如GOOS=windows GOARCH=amd64)編譯並執行此程式會列印預期輸出:

OS: windows
Architecture: amd64

注意

在Go 1.10 之前,runtime .GOROOT() 將傳回編譯時記錄的GOROOT 值。但是,在 Go 1.10 及更高版本中,它會檢查 GOROOT 環境變數並使用其值(如果已設定)。

以上是如何在沒有程式碼庫的情況下識別可執行檔的 GOOS 和 GOARCH 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn