回答

收藏

所有可能的 GOOS 值?

技术问答 技术问答 225 人阅读 | 0 人回复 | 2023-09-12

假如我猜对了,GOOS编译源代码时确定。
# w! D# ?- N% f8 M为了更好地支持多个操作系统,我是对的GOOS也许感兴趣。
5 u$ D) K4 k8 _6 C当然,由于 Go 是开源的。所以我真正想要的是一个通用列表。
, E. ^- L& v% V7 P5 f9 r! i已知值是:
+ ?+ r: U! t5 ^) W! J0 r$ Bwindows
3 j6 F8 y) {$ ]linux( Y3 {& ?7 ~+ b; ^
darwin或freebsd或unix? 我知道至少一个必须存在。
                                                               
2 [+ Z2 I& O7 l    解决方案:                                                                * y( ?& {; e  _
                                                                请注意,这些值在src/go/build/syslist.go.
# m/ F0 O0 T0 }2 q! g* ?+ u随着围棋1.5(Q3 2015年),GOARCH将成为很多更加完整。% H. d+ Q2 @8 S+ }4 K$ [
见提交1eebb91由Minux马(minux); |$ a* G; f( w/ l6 L: h
`go/build:GOARCH为所有常见架构保留值每当我们介绍一个新的GOARCH、旧的 Go 版本不会识别它们,这会给我们的用户和我们带来麻烦(我们需要添加不必要的建筑标签)。
0 x( A$ p$ Y& r+ C# P. ~5 f到目前为止arm64 ppc64 ppc64le,Go 1.5 引进了三种新的 GOARCHe:,我们可以花时间为 Go引入  未来可能支持的所有常见架构GOARCHe,避免出现问题。% a5 N/ B2 B' d, t6 o
    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)
      a9 O0 s. k. f; T
该列表仍在Change 9644 审核如下:
) ]! X9 q- a" E6 v8 T0 A1 b" W我不会打扰安腾。基本上是死架构。8 A! T# F8 S8 q, |9 |: k& V
另外,很难为它编写编译器。除非出于爱,否则我真的看不到它的发生,没有人喜欢 Itanium。1 w! c- |7 z  L  e- ^) M$ t7 L
现在的官方文档(GO 1.5  Q3 2015)反映了完整的列表。
; q! s/ [- M6 R2 H  k% k2018 年更新:如:Giorgos Oikonomou答案中所述,Go 1.7(2016年第一季度)引入
8 _0 R: ?% W3 c; |0 s2 qgo tool dist list命令。
6 k: f4 @. |. l& M* G. z请参阅提交 c3ecded:它修复了2015年第三季度开放的问题 12270:
8 u# k$ T8 O& p' t+ \5 b为了更容易地编写交叉编译工具,最好通过编程获得 GOOS 和 GOARCH 的可能组合。) L8 n% e& }/ Y- M# |
这是在CL 在19837 中实现]
& k% `5 ^% T: o* j- Pcmd/dist: 引入list列出所有支持平台的子命令
% ?' `1 G+ V: g# r8 C可纯文本或 json 格式列出:
2 {+ p) K( o& u: c! U
    > go tool dist list -json                                        "GOOS": "android",               "GOARCH": "386",               "CgoSupported": true         ...]
    1 ?- L; |$ c! y' s
正如马克·贝所说:
! r2 |; f5 v; c奖励:列输出格式正确显示:
! P$ \% C' k( l" K' `golanggo tool dist list | column -c 75 | column -t
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则