Go编译跨平台程序

GOOS和GOARCH参考

OS          ARCH                  OS version
linux       386 / amd64 / arm     >= Linux 2.6
darwin      386 / amd64           OS X (Snow Leopard + Lion)
freebsd     386 / amd64           >= FreeBSD 7
windows     386 / amd64           >= Windows 2000

GOOS:支持darwin,freebsd,linux,windows

GOARCH:支持386,amd64,arm

示例

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

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

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

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

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

SET CGO_ENABLED=0 SET GOOS=darwin3 SET GOARCH=amd64 go build
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build