追加一条:C:\Program Files\Git\bin安装go 打开环境变量 添加GOPATH 添加到path 检验 在命令指示符...
go build -ldflags "-s -w" main.go 为变量赋值: -X:在编译过程中为变量赋值。例如,为版本号赋值: bash go build -ldflags "-X main.Version=1.0.0" main.go 指定输出文件类型: -H:指定输出文件的类型。例如,编译Windows GUI程序时,去掉CMD窗口: bash go build -ldflags "-H windowsgui" main...
golang在编译时,通过加入- ldflags的参数可以替换编译的二进制包中的文件内容。例如替换版本号,构建日期,Git commit等信息时很方便。 例如替换main包中的变量如下: package main var version="N/A" func main() { fmt.Println(version) } 编译时加上参数:go build -a -ldflags "-X main.version=1.2" -o ...
go build -ldflags "-H windowsgui -X main.BuildVersion=`date +%m-%d-%H-%M-%S-%Y` -X main.TaskType=PING" -o App.exe; go build -ldflags "-H windowsgui -X main.TaskType=PING -X main.BuildVersion=v1" -o App.exe; 例:编译的时候,带上编译的人的姓名 go build -ldflags "-X main....
go build -ldflags "-X 'main.time=$(date -u --rfc-3339=seconds)' -X 'main.git=$(git log --pretty=format:"%h" -1)'" main.go 运行结果: Copy build date:2019-09-12 06:57:45+00:00git hash:e1ac7a6 注意# 只能给string赋值,不能是bool,int ...
不过,近日我在闲逛 go nuts 时,看到一个贴子:v1.5 -ldflags -X change breaks when string has a space,谈到了这个技巧:如果要赋值的变量包含空格,需要用引号将 -X 后面的变量和值都扩起来。原来如此,再次 build 一下,还真好用: 代码语言:javascript ...
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...
实际是给go tool link的参数,可以⽤go tool link --help查看可⽤的参数。常⽤-X来指定版本号等编译时才决定的参数值。例如代码中定义var buildVer string,然后在编译时⽤go build -ldflags "-X main.buildVer=1.0" ... 来赋值。注意-X只能给string类型变量赋值。
golang编译go build -ldflags "-s -w"的 解释 go build -ldflags "-s -w"是一个 Go 语言的构建命令,其中使用了-ldflags参数来传递一些额外的链接器标志。 这个命令中,-ldflags "-s -w"传递了两个标志: -s:该标志会禁止生成可执行文件中的符号表信息,这样在执行文件时就不会暴露源代码中的函数名、...
3、编译时使用ldflags 编写config.go内容如下 packagemainimport"fmt"varmodestringfuncmain(){fmt.Println("mode value is:",mode)} 编译运行 # 编译go build -ldflags'-X main.mode=prod'config.go# 运行./config# 输出如下mode value is: prod