go语言支持直接编译不同系统的可执行程序,例如可以直接在mac上可以直接编译linux的执行程序
支持的环境变量
GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows
GOARCH:目标可执行程序操作系统构架,包括 386,amd64,arm
CGO_ENABLED: 交叉编译不支持 CGO,需要设置为0
查看arch的几种方式:
1.arch
2.file /bin/cat
3.uname -a
build示例
cd $GOPATH/src/app CGO_ENABLED=0 env GOOS=darwin GOARCH=amd64 go build -o ./bin