登录
首页 >  Golang >  Go问答

通过 LDFLAGS 在 GoLang 中初始化非基本类型的变量

来源:stackoverflow

时间:2024-02-19 11:18:24 297浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《通过 LDFLAGS 在 GoLang 中初始化非基本类型的变量》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我正在尝试在构建时使用go build中的ldflags选项来初始化变量。

这段代码工作正常:

var version

func printVersion() {
    fmt.Printf(version) // prints the corresponding value
}
go build -ldflags="-X $(ROOT)/pkg/info.version=123"

但我似乎找不到一种方法来初始化我自己定义的结构的变量。我的意思是,这似乎不起作用:

type VersionInfo struct {
    version string
}

var versionInfo VersionInfo

func printVersion() {
    fmt.Printf(versionInfo.version)
}
go build -ldflags="-X $(ROOT)/pkg/info.versionInfo.version=123"

我在官方文档中找不到任何涉及此问题的内容。有什么想法吗?


正确答案


根据文档,似乎不可能通过链接器标志来做到这一点。该变量的类型必须是 string

来源:https://pkg.go.dev/cmd/link p>

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《通过 LDFLAGS 在 GoLang 中初始化非基本类型的变量》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>