当前位置: 首页 > 面试题库 >

所有可能的GOOS值?

谢誉
2023-03-14
问题内容

如果我做对了,GOOS确定何时编译源代码。

为了更好地支持多种操作系统,我对GOOS可能的功能很感兴趣。

当然,由于Go是开源的,因此可能存在无限的可能性。因此,我真正想要的是一个“通用列表”。

已知值为:

  • windows
  • linux
  • darwinfreebsdunix?我知道其中至少必须存在一个。

问题答案:

请注意,这些值在中定义src/go/build/syslist.go

随着围棋1.5(Q3 2015年),GOARCH将成为 很多 更加完整。
见提交1eebb91由Minux马(minux

go/buildGOARCH所有 通用架构保留值

每当我们引入新的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


 类似资料:
  • 问题内容: 检索的对象。此方法可以返回的所有可能值是什么?我可以使用该值来标识数据库中发生的特定错误吗(即,该值可以告诉我是否是PK违例,唯一约束或列值是否很大等)? 同样,该方法应该指示返回的是X / Open(现在称为Open Group)SQL CLI还是SQL99。唯一可能的价值应该是并且我正在获取价值。我想念什么吗? 有没有一种方法可以使用上述方法的组合来确定数据库中发生的特定错误类型?

  • 我有下表: 对于两组中的每一组,我想返回所有可能的值组合。对于组1,例如,可能的组合是(A, B)、(A, C)、(A, D)、(B, C)、(B, D)、(C, D)、(A, B, C)、(B, D, C)、(C, A, B)。类似地,对于组2,它是(A, B)、(A, C)、(B, C)[备注:我不想考虑(1)只有一个值的组合,(2)所有值的组合和(3)没有值的组合。因此,对于n个不同的值,我

  • 问题内容: 我想获得所有可能的可用货币。 Java 7提供了这样的功能。 但是,我仍在使用Java 6进行开发和部署。我可以知道如何获得所有可能的货币吗?代码示例是最受欢迎的。 问题答案: 在研究了ISO表和Currency类文档之后,您似乎可以将货币作为代码或语言环境了。并且Locale类有一个方法。 因此,代码为: 希望这可以帮助。

  • 问题内容: 我有一个项目{a,b,c,d}的列表,当我需要生成所有可能的组合时, 您可以选择任意数量的项目 顺序不重要(ab = ba) 空集不被考虑 如果我们抓住可能性,那就应该是 我使用了以下递归方法: 当数组大时,有没有更有效的方法? 问题答案: 将组合视为一个二进制序列,如果所有4个都存在,则得到1111,如果缺少第一个字母,则得到0111,依此类推。对于n个字母,我们将得到2 ^ n -

  • 问题内容: 似乎比它要简单得多,但是如何用python生成所有16,777,255个rgb颜色呢? 问题答案: 颜色通常用十六进制数表示,实际上只是整数。因此,从0到16,777,215(0xFFFFFF)的简单循环就足以生成所有24位RGB颜色。 在python 2.x中,您可以执行以下操作: