回答

收藏

所有可能的 GOOS 值?

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

假如我猜对了,GOOS编译源代码时确定。
. Y! a* D& e/ f7 n# Y6 Y为了更好地支持多个操作系统,我是对的GOOS也许感兴趣。
8 N/ x1 g/ _/ [1 R$ J7 ^% a当然,由于 Go 是开源的。所以我真正想要的是一个通用列表。
6 V7 b8 t0 w% ~$ b" ~. \9 _, C已知值是:
6 d) v  a8 j- F% x5 f+ w# [8 lwindows% U+ w/ z3 G" p) z& \& j
linux4 |6 x) n5 H* {0 p2 \, K
darwin或freebsd或unix? 我知道至少一个必须存在。
                                                               
: u+ p/ ~3 o  a! Y0 ~8 g    解决方案:                                                               
" p7 D) O4 q" H6 P% t                                                                请注意,这些值在src/go/build/syslist.go.
# J  D/ k0 b5 j- r随着围棋1.5(Q3 2015年),GOARCH将成为很多更加完整。
3 [) M* B3 E* f/ e见提交1eebb91由Minux马(minux)
' X4 ]$ g7 ]* K% Q. j$ e`go/build:GOARCH为所有常见架构保留值每当我们介绍一个新的GOARCH、旧的 Go 版本不会识别它们,这会给我们的用户和我们带来麻烦(我们需要添加不必要的建筑标签)。
4 ?, J1 n, E/ N. ~- S3 Y1 J到目前为止arm64 ppc64 ppc64le,Go 1.5 引进了三种新的 GOARCHe:,我们可以花时间为 Go引入  未来可能支持的所有常见架构GOARCHe,避免出现问题。
# T" ?! B0 p. [6 M5 Y# d
    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)! j2 J+ o+ r1 ~  `* k
该列表仍在Change 9644 审核如下:
' E. x- H( s: T我不会打扰安腾。基本上是死架构。6 J- E9 }* a! w$ Z
另外,很难为它编写编译器。除非出于爱,否则我真的看不到它的发生,没有人喜欢 Itanium。
& n7 \( G# F/ H5 f$ _! \1 k, j现在的官方文档(GO 1.5  Q3 2015)反映了完整的列表。+ x9 e7 i  O# t" ?9 k2 h: B3 g
2018 年更新:如:Giorgos Oikonomou答案中所述,Go 1.7(2016年第一季度)引入
4 I5 s! D  E9 Rgo tool dist list命令。" E, L# @3 c3 p8 ~# N7 ~+ L- B
请参阅提交 c3ecded:它修复了2015年第三季度开放的问题 12270:
) b6 \; d% H, U6 K* S2 K为了更容易地编写交叉编译工具,最好通过编程获得 GOOS 和 GOARCH 的可能组合。6 _" o; k  |( n! O" c0 ?5 ^3 B
这是在CL 在19837 中实现]
# A) t% ]* [- O! hcmd/dist: 引入list列出所有支持平台的子命令- {7 U3 v( t- Z+ H2 }+ N
可纯文本或 json 格式列出:
9 k: V6 W0 _: j% h$ R& F
    > go tool dist list -json                                        "GOOS": "android",               "GOARCH": "386",               "CgoSupported": true         ...]
    - D1 C8 M! A$ [+ s8 N
正如马克·贝所说:0 Y! t# O1 P5 k' u# n, ~) a/ u
奖励:列输出格式正确显示:
4 u+ i  Z0 B& R' ugolanggo tool dist list | column -c 75 | column -t
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则