参数解析
这里用到了两个变量:
GOOS:目标操作系统
GOARCH:目标操作系统的架构
编译其他平台的时候根据上面表格参数执行编译就可以了。
扩展阅读
在网络上的诸多教程中可能会看到下面的编译命令
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
其中 CGO_ENABLED=0 的意思是使用 C 语言版本的 GO 编译器,参数配置为 0 的时候就关闭 C 语言版本的编译器了。自从 golang1.5 以后 go 就使用 go 语言编译器进行编译了。在 golang1.9 当中没有使用 CGO_ENABLED 参数发现依然可以正常编译。当然使用了也可以正常编译。
比如把 CGO_ENABLED 参数设置成 1,即在编译的过程当中使用 CGO 编译器,我发现依然是可以正常编译的。
实际上如果在 go 当中使用了 C 的库,比如 import "C"
默认使用 go build 的时候就会启动 CGO 编译器,当然我们可以使用 CGO_ENABLED=0 来控制 go build 是否使用 CGO 编译器。