首页 > 解决方案 > go ldflags 设置变量值不起作用

问题描述

我正在尝试使用 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

我期待看到价值:

adaf66c

我得到什么:变量内容:

oldvalue

标签: go

解决方案


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

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

推荐阅读