首頁 >後端開發 >Golang >Go 的 `-ldflags -X` 可以將變數指派給 `main` 以外的套件嗎?

Go 的 `-ldflags -X` 可以將變數指派給 `main` 以外的套件嗎?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-16 08:00:23787瀏覽

Can Go's `-ldflags -X` Assign Variables to Packages Other Than `main`?

Go 建構中使用-ldflags -X 進行套件變數賦值

問題:

建構Go 應用程式時,是可以使用-ldflags -X 將版本字串變數指派給主包以外的包選項?

是的,可以使用-ldflags -X 在任何套件中設定變數。但是,它需要指定套件的完整導入路徑,而不僅僅是套件名稱。

要達到此目的,請使用下列語法:

-X importpath.package.variable=value

例如,如果設定檔位於$GOPATH/src/my/package/config ,請使用下列建置指令:

go build -ldflags "-X my/package/config.Version=1.0.0" -o $(MY_BIN) $(MY_SRC)

該指令將分配值1.0.0 到設定包中的Version 變數。

以上是Go 的 `-ldflags -X` 可以將變數指派給 `main` 以外的套件嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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