首页 > 后端开发 > Golang > Go 的 `-ldflags -X` 可以将变量分配给除 `main` 之外的包吗?

Go 的 `-ldflags -X` 可以将变量分配给除 `main` 之外的包吗?

Mary-Kate Olsen
发布: 2024-12-16 08:00:23
原创
713 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板