go build -ldflags
有如下示例代码:
|
|
第一种用法:
|
|
第二种用法:
|
|
|
|
go build -trimpath
参数-trimpath
可以去除 GOPATH,在打印日志和 panic 信息时有用。
有如下示例代码
|
|
直接go build
:
|
|
加参数-trimpath
后:
|
|
CGO_ENABLED=0 go build
默认情况下,通过go env
看到CGO_ENABLED=1
的设置,表示不将程序依赖的 libc 一起编译到可执行文件,一般情况下没有问题,但是在使用 docker 的时候经常会遇到程序运行不起来,并且一般报的错误是not found
, 编译时设置CGO_ENABLED=0
环境变量即可解决。
例如:
|
|
go vet ./...
用来检测一些基础或常见错误,比如 fmt.Printf("%d", "hello"),字符串当数字 print
go build -race
用来进行静态竞争检测