golang包的使用依赖一个重要的环境变量:GOPATH,无论是自己的代码还是第三方代码,都以GOPATH作为工作...
go build -ldflags "-X 'main.buildTime=$(date)' -X 'main.gitHash=$(git log --pretty=format:"%h" -1)'" main.go linux: Copy go build -ldflags "-X 'main.time=$(date -u --rfc-3339=seconds)' -X 'main.git=$(git log --pretty=format:"%h" -1)'" main.go 运行结果: Copy b...
#gobuild-o=./main-ldflags"-w -s"main.go&&ls-lh main-rwxr-xr-x1wangbo staff867K12011:05main 其文件大小降低为 867K,如果需要对程序进行调试则需要保留调试信息和符号表,否则就去掉。 -x 显示编译连接的过程: #gobuild-x main.goWORK=/var/folders/jw/rpyqrcvd6jb5w9v2lq0pnnpw0000gn/T/go-...
go build⽤-ldflags给go链接器传⼊参数,实际是给go tool link的参数,可以⽤go tool link --help查看可⽤的参数。常⽤-X来指定版本号等编译时才决定的参数值。例如代码中定义var buildVer string,然后在编译时⽤go build -ldflags "-X main.buildVer=1.0" ... 来赋值。注意-X只能给string类型...
package version//变量通过-ldflags -X importpath.name=value在编译时传入程序中var( gitTag=""//gitBranch =""gitCommit="$Format:%H$"gitTreeState="not a git tree"buildDate="1970-01-01T00:00:00Z") version.go package version import ("fmt""runtime") ...
主要用法 -ldflags -X importpath.name=value,参考 https://golang.org/cmd/link/,使用此方法你可以为程序嵌入其他元信息。 -X importpath.name=value Set the value of thestringvariable in importpath named name to value.This is only effectiveifthe variable is declared in the source code either unin...
-ldflags 'flag list' arguments to pass on each go tool link invocation. 这个参数是用来设置go link(静态链接)的一些参数,具体有哪些参数可以通过go tool link --help查看。 其中-X参数可以在编译时给包内的变量赋值,然后我们利用flag包设置version参数就能实现打印版本号了。
-rwxr-xr-x 1 admin staff 1.5M Nov 25 16:15 main-ldflags -rw-r--r-- 1 admin staff 60B Nov 25 15:04 main.c -rw-r--r-- 1 admin staff 71B Nov 25 14:59 main.go 通过编译制定参数,文件虽然缩小,但是缩小的并不明显,由原来的2M大小,缩减到1.5M大小 ...
-X importpath.name=value Set the value of the string variable in importpath named name to value.Note that before Go 1.5 this option took two separate arguments.Now it takes one argument split on the first = sign.按照⽂档中的说明应该是在build时,通过-ldflags设定linker的参数。然后再通过...
在我们Golang程序编译命令中,相信大家使用过-ldflags=""选项,这个其实是go tool link带来的,go build 只是一个前端,Go 提供了一组低级工具来编译和链接程序,go build只需收集文件并调用这些工具。我们可以通过使用-x标志来跟踪它的作用。不过这里我们并不关心这个。