![](https://img.haomeiwen.com/i4759699/d013d66c9f524824.jpg)
当我们在编译软件版本,或者记录编译时间的时候,可以动态的通过命令行来进行操作。
package main
var BuildTime string
func main() {
println(BuildTime)
}
我们可以通过以下的命令来在build期间改变项目中的字符串变量。
root@000d3fada0b3:~/go/src/test# go build -ldflags "-X main.BuildTime=$(date +'%Y.%m.%d')"
root@000d3fada0b3:~/go/src/test# ./test
2018.10.31
通知链接器修改字符串变量main.BuildTime
的内容。
$(date +'%Y.%m.%d')
这个命令是脚本获取时间的写法。
注意,这里只能传递字符串,如果想传递其他类型的内容,只能在代码中做转换处理。
网友评论