GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows

GOARCH:目标可执行程序操作系统构架,包括 386,amd64,arm

CGO_ENABLED: 设置0则不启用cgo 设置1启用cgo。 交叉编译不支持cgo所以要设置为0

1.Mac Mac下编译Linux, Windows平台的64位可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go

2.Linux Linux下编译Mac, Windows平台的64位可执行程序:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go

3.Windows Windows下编译Mac, Linux平台的64位可执行程序:

# cmd
set GOARCH=amd64
go env -w GOARCH=amd64
set GOOS=linux
go env -w GOOS=linux

# 还原
set GOARCH=amd64
go env -w GOARCH=amd64
set GOOS=windows
go env -w GOOS=windows

#go build