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...
追加一条:C:\Program Files\Git\bin安装go 打开环境变量 添加GOPATH 添加到path 检验 在命令指示符...
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....
上一章节学习了 -ldflags -X 的用法,-lgflags 还有两个常用的参数:1. -w 去掉调试信息2. -s 去掉符号表写一个什么都不干的 main.go 执行 go build -o=./main main.go && ls -lh main:# go build -o=./main main.go && ls -lh main-rwxr-xr-x 1 wangbo staf
eval $cmd}build echo"build finish" 注意25-build-with-meta/meta/config 是包名,它对应的文件是 meta/config/config.go,运行 chmod +x ./build.sh && ./build.sh 显示 build finish 编译完成: #./build.sh GOOS=darwin GOARCH=amd64gobuild-o=./main-ldflags" -X '25-build-with-meta/meta/config...
问题 如果想要在go build生成的可执行文件中注入编译时间,git hash等信息。可以在编译的时候使用 ldflags X参数来注入变量 ldfflags X 可以在go install 、go build、go run 、go test中使用 go build ldflags "
不过,近日我在闲逛 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...
-ldflags 此标记用于指定需要传递给go tool link命令的标记的列表 -linkshared 此标记用于与-buildmode=shared一同使用。后者会使作为编译目标的非main代码包都被合并到一个动态链接库文件中,而前者则会在此之上进行链接操作 -pkgdir 指定一个目录,并从改目录下加载编译好的.a 文件,并把编译可能产生新的 .a 文件...