Golang Build 中使用-ldflags -X 設定套件變數
使用go build 指令指令使用-ldflags -X 選項。這種技術通常用於將版本字串、配置值或其他元資料注入到編譯的二進位檔案中。
但是,如果可以在特定包而不是主包中設定包變量,就會出現問題。這是如何實現的:
-X 標誌的文檔明確指出:
-X importpath.name=value Set the value of the string variable in importpath named name to value.
這表明 -X 標誌可以與任何包一起使用,而不僅僅是主包一起使用。要指定包變量,只需提供完整的導入路徑(類似於在程式碼中導入包的方式)。
例如,如果您的設定包位於$GOPATH/src/my/package /config,您可以使用以下命令在該套件中設定Version 變數:
go build -ldflags "-X my/package/config.Version=1.0.0" -o $(MY_BIN) $(MY_SRC)
這將在config 套件中設定Version 變量,即使建置指令是在主套件。
以上是我可以使用'-ldflags -X”在非主 Go 包中設定包變數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!