go ldflags 设置变量值不起作用

标签 go

我正在尝试使用 go build 来更新我项目中的一个变量:

完整项目路径:

c:\goprojects\src\deployment\cl\apps\appName

从 c:\goprojects\src 运行

 go install -ldflags="-X main.GitRev=adaf66c" deployment\cl\apps\appName\...

在go项目中我有:

package main
var GitRev = "oldvalue"


func main() {
    fmt.Println("variable contents: ", GitRev)
}

然后从我运行的命令行:

..\bin\appName.exe

我期待看到的值(value):

adaf66c

我得到的:变量内容:

oldvalue

最佳答案

我相信你只是在声明一个变量而不是一个标志。导入标志包并像这样分配它。

import "flag"
var GitRev = flag.String("GitRev", "oldvalue", "what it represents")

关于go ldflags 设置变量值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53402640/

相关文章:

memory-leaks - go程序中的内存跟踪

iOS 和 Go - 使用 NSURLSession 保持事件状态

io - 过滤掉断管错误

go - 无阻塞以太网捕获

mysql - 如何在Go中创建MySQL数据库(表)并进行CRUD操作

Git2go : Simulate git checkout and an immediate git push

go - 为什么 sync.WaitGroup、sync.Mutex 不引用 channel 、 slice 等类型?

正则表达式在表达式中查找组

go - 传播或解压缩结构作为测试的输入参数

mongodb - 无法使用 golang 将结构保存到 mongodb 中(仅创建空记录)