golang在编译时用ldflags设置变量的值
转载请注明出处,原文链接http://tailnode.tk/2017/01/go... 我们经常会在一些程序的输出中看到程序版本、编译时间、Git的commit id等信息,比如docker ming@vultr:~$ docker version Client: Version: 1.12.5 API version: 1.24 Go version: go1.6.4 Git commit: 7392c3b Built: Fri Dec 16 02:42:17 2016 OS/Arch: linux/amd64 ... 我们可以提供一个配置文件
以下面代码说明 package main import "fmt" var ( VERSION string BUILD_TIME string GO_VERSION string ) func main() { fmt.Printf("%sn%sn%sn",VERSION,BUILD_TIME,GO_VERSION) } 用如下命令编译,注意因为 go build -ldflags "-X main.VERSION=1.0.0 -X 'main.BUILD_TIME=`date`' -X 'main.GO_VERSION=`go version`'" 编译成功后运行程序,结果如下 ming@ubuntu:~/go_workspace/src/test$ ./test 1.0.0 Sun Feb 12 00:13:27 CST 2017 go version go1.7.5 linux/amd64 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |