gpt4 book ai didi

go - 如何在 Golang 构建中使用 -ldflags -X 设置包变量

转载 作者:IT老高 更新时间:2023-10-28 13:09:50 25 4
gpt4 key购买 nike

我正在使用 Go 1.9.2 创建一个应用程序,并尝试在构建期间使用 ldflags -X 选项向其添加版本字符串变量。

我已经设法在我的 main 包中设置了一个 Version 变量,方法是:-ldflags "-X main.Version=1.0.0",但是我真正需要的是在我的 config 包中设置 Version 变量而不是 main 变量。这可能吗?

这是我的构建命令:

去构建 -ldflags "-X config.Version=1.0.0"-o $(MY_BIN) $(MY_SRC)

最佳答案

引自 Command link 的文档:

-X importpath.name=value    Set the value of the string variable in importpath named name to value.    Note that before Go 1.5 this option took two separate arguments.    Now it takes one argument split on the first = sign.

所以它可以用于任何包,而不仅仅是 main 包。但您必须指定完整的导入路径,而不仅仅是包名。

例如如果您的 config 包位于 $GOPATH/src/my/package/config,则使用以下命令:

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

关于go - 如何在 Golang 构建中使用 -ldflags -X 设置包变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47509272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com