Golang支持交叉编译,也就是说你在32位平台的机器上开发,可以编译生成64位平台上的可执行程序。

交叉编译依赖下面几个环境变量: (推荐学习:go)

$GOARCH 目标平台(编译后的目标平台)的处理器架构(386、amd64、arm)
$GOOS 目标平台(编译后的目标平台)的操作系统(darwin、freebsd、linux、windows)

各平台的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

这种方法针对一次性编译、测试、学习很有用,但对于需要对多平台编译一次性处理会有一些麻烦

首先你需要针对每个你想要部署的平台在编译机上都要运行一次相应的 make.bash来生成所需要编译器

每次都要执行相应的编译命令(这个有点牵强,因为通过shell也可以实现批处理)

本机需要保留所有生成的编译器,如果其他人也需要这样的环境则需要再执行一次所需编译器的生成工作

为了保持本机干净(呵呵)