请注意,这些值在中定义
src/go/build/syslist.go。
随着围棋1.5(Q3 2015年),
GOARCH将成为 很多 更加完整。
见提交1eebb91由Minux马(
minux)
go/build:GOARCH为 所有 通用架构保留值每当我们引入新的
GOARCH,较旧的Go发行版都不会识别它们时,这会给我们和我们的用户造成麻烦(我们需要添加不必要的构建标记)。到目前为止
arm64 ppc64 ppc64le,Go 1.5引入了三个新的GOARCH
::我们可以花一些时间为将来Go可能支持的所有常见架构引入GOARCH,以避免出现此问题。
const goosList = "android darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows "const goarchList = "386 amd64 amd64p32 arm arm64 ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le # (new) ppc s390 s390x sparc sparc64 " # (new)
该列表仍在Change 9644中进行审核,评论如下:
我不会理会Itanium。它基本上是一个死的架构。
另外,很难为其编写编译器,以至于我真的看不到它的发生,除非是出于爱的劳动,而且没人喜欢Itanium。
现在的 正式文档
(2015年第三季度,GO 1.5+)反映了该完整列表。
2018年更新:如Giorgos Oikonomou,Go1.7(2016年第一季度)引入了该 go tool dist list
命令。
参见commitc3ecded:它修复了2015年第三季度打开的问题12270:
为了更轻松地编写用于交叉编译的工具,最好以编程方式获取GOOS和GOARCH的可能组合。
这是在CL 19837中实现的
cmd/dist:引入list子命令以列出所有支持的平台
您可以用纯文本或json列出:
> go tool dist list -json[ { "GOOS": "android", "GOARCH": "386", "CgoSupported": true }, ...]正如马克·贝茨啾啾:
奖励:列输出的格式正确,可以显示:
go tool dist list | column -c 75 | column -t



