肯定是分的,但我们不用关心,go 命令已经封装好了,它会依据平台选择不同的底层命令。

在 go 安装目录的 pkg 目录下有个 tools 目录,里面包含了编译链接时实际使用的命令,比如我的 Mac Pro,在 pkg/tool/darwin_amd64/ 下能找到 go 编译链接实际调用的命令 compile 和 link。darwin_amd64 中 drawin 表示操作系统,amd64 就是系统架构。

至于在 64 位上机器上安装 32 位的 Go 能不能用,我就不太清楚了,你可以测试下,按理是可以的,但实践才是检验真理的唯一标准,测试下也不是很麻烦。

还有,如果是想在 64 位机器上编译 32 位的程序,可以使用交叉编译。

$ GOOS=windows GOARCH=386 go build index.go