如果我没看错的话, GOOS
是编译源码时确定的。
为了更好地支持多个操作系统,我对 GOOS
可能是什么感兴趣。
当然,它可能有无限的可能性,因为 Go 是开源的。所以我真正想要的是一个“通用列表”。
已知值是:
windows
linux
darwin
或freebsd
或unix
?我知道至少其中之一必须存在。
原文由 liuyanghejerry 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我没看错的话, GOOS
是编译源码时确定的。
为了更好地支持多个操作系统,我对 GOOS
可能是什么感兴趣。
当然,它可能有无限的可能性,因为 Go 是开源的。所以我真正想要的是一个“通用列表”。
已知值是:
windows
linux
darwin
或 freebsd
或 unix
?我知道至少其中之一必须存在。原文由 liuyanghejerry 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为您正在本节中寻找可能的 GOOS 和 GOARCH 组合列表:
http://golang.org/doc/install/source#environment
\(GOOS 和 \)GOARCH 目标操作系统和编译架构的名称。这些分别默认为 \(GOHOSTOS 和 \)GOHOSTARCH 的值(如下所述)。
\(GOOS 的选择是 darwin(Mac OS X 10.8 及更高版本和 iOS)、dragonfly、freebsd、linux、netbsd、openbsd、plan9、solaris 和 windows。 \)GOARCH的选择是amd64(64位x86,最成熟的端口),386(32位x86),arm(32位ARM),arm64(64位ARM),ppc64le(PowerPC 64位,little -endian)、ppc64(PowerPC 64 位、大端)、mips64le(MIPS 64 位、小端)和 mips64(MIPS 64 位、大端)。 mipsle(MIPS 32 位,小端)和 mips(MIPS 32 位,大端)。
\(GOOS 和 \)GOARCH 的有效组合是:
$GOOS $GOARCH android arm darwin 386 darwin amd64 darwin arm darwin arm64 dragonfly amd64 freebsd 386 freebsd amd64 freebsd arm linux 386 linux amd64 linux arm linux arm64 linux ppc64 linux ppc64le linux mips linux mipsle linux mips64 linux mips64le netbsd 386 netbsd amd64 netbsd arm openbsd 386 openbsd amd64 openbsd arm plan9 386 plan9 amd64 solaris amd64 windows 386 windows amd64
原文由 Eve Freeman 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.4k 阅读
6 回答7k 阅读✓ 已解决
4 回答2.4k 阅读
1 回答3.4k 阅读
2 回答961 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
请注意,这些值定义在:
src/go/build/syslist.go
和doc/install/source#environment
。随着 Go 1.5(2015 年第 3 季度),
GOARCH
将变得 更加 完整。参见 Minux Ma 提交 的 1eebb91 (
minux
)该列表仍在 Change 9644 中进行审核,评论如下:
现在的 官方文档(GO 1.5+ Q3 2015)反映了完整的列表。
2018 年更新:如 Giorgos Oikonomou 的 回答 中所述,Go 1.7(2016 年第一季度)引入了
go tool dist list
命令。请参阅 提交 c3ecded :它修复了 2015 年第三季度打开的 问题 12270 :
这是在 CL 19837 中实现的
您可以以纯文本或 json 格式列出:
正如 马克贝茨发推文: