go - 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
解决方案
我相信您只是在声明一个变量而不是一个标志。导入标志包并像这样分配它。
import "flag"
var GitRev = flag.String("GitRev", "oldvalue", "what it represents")
推荐阅读
- php - 如何在 PHP7 中使用数组变量引用类方法?
- angular - Angular:如果可用,则渲染图像。否则渲染默认图像
- python - CPU 内存使用量随着使用 tf.data.Dataset 和 tf.py_function 加载的每个批次而增加
- reactjs - 使用 Axios 在 React 中搜索不同 URL 的最佳方法是什么?
- bash - Rename massively pdf with bash script using pdftotext (Debian)
- dialogflow-es - Dialogflow information/analytics retrieval and feed back to user
- javascript - Mongoose & getting timestamps of populated documents
- azure - Terraform Enterprise Race Condition?
- c++ - SIMD, SSE, AVX - mask 8 floats by unsigned char?
- postgresql - Not able to use created table as composite type - postgreSQL