所有可能的 GOOS 价值?

2024-05-29

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

为了更好地支持多个操作系统,我感兴趣的是GOOS可能。

当然,Go 是开源的,所以它可能有无限的可能性。所以我真正想要的是一个“通用列表”。

已知值为:

  • windows
  • linux
  • darwin or freebsd or unix?我知道其中至少必须存在一个。

请注意,这些值的定义如下:

  • src/go/build/syslist.go https://github.com/golang/go/blob/master/src/go/build/syslist.go, and
  • doc/install/source#environment https://go.dev/doc/install/source#environment.

使用 Go 1.5(2015 年第 3 季度),GOARCH会变成much更完整。
See 提交 1eebb91 https://github.com/golang/go/commit/1eebb91a5828c26532125b9464c92f721cd79d0f by 米努克斯马(minux) https://github.com/minux

go/build: 预订GOARCHall通用架构

每当我们推出新产品时GOARCH,较旧的 Go 版本无法识别它们,这会给我们的用户和我们带来麻烦(我们需要添加不必要的构建标签)。

到目前为止,Go 1.5 引入了三个新的 GOARChe:arm64 ppc64 ppc64le,我们可以花点时间为 Go 未来可能支持的所有常见架构引入 GOARChes 来避免这个问题。

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)

该名单仍在审核中变更9644 https://go-review.googlesource.com/#/c/9644/,评论如下:

我不会打扰安腾。它基本上是一个死架构。
另外,为它编写一个编译器是如此困难,以至于我真的看不到它的发生,除非是出于热爱,而且没有人喜欢安腾。

The 官方文档 https://golang.org/doc/install/source#environment现在(GO 1.5+ Q3 2015)反映了已完成的列表。


2018 年更新:如记录乔治·奥科诺莫 https://stackoverflow.com/users/1199408/giorgos-oikonomou's answer https://stackoverflow.com/a/50117892/6309,Go 1.7(2016 年第一季度)引入了
go tool dist list命令。
See 提交c3ecded https://github.com/golang/go/commit/c3ecded729214abf8a146902741cd6f9d257f68c: 修复了问题 12270 https://github.com/golang/go/issues/122702015 年第三季度开业:

为了更轻松地编写交叉编译工具,最好以编程方式获取 GOOS 和 GOARCH 的可能组合。

这是在CL 19837 https://go-review.googlesource.com/c/go/+/19837

cmd/dist: 介绍list列出所有支持平台的子命令

您可以以纯文本或 json 形式列出:

> go tool dist list -json
[
        {
                "GOOS": "android",
                "GOARCH": "386",
                "CgoSupported": true
        },
        ...
]

As 马克·贝茨发推文 https://twitter.com/markbates/status/1177326527287107585:

奖励:列输出格式正确以供显示:

go tool dist list | column -c 75 | column -t
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

所有可能的 GOOS 价值? 的相关文章

  • 是否支持动态变量?

    我想知道Go中是否可以动态创建变量 我在下面提供了一个伪代码来说明我的意思 我将新创建的变量存储在切片中 func method slice make type for i 0 i lt 10 i var variable i i slic
  • 如何将未知字段类型的数据解组为 JSON

    我有这些 结构 type Results struct Gender string json gender Name struct First string json first Last string json last json nam
  • Golang 基础知识 struct 和 new() 关键字

    我正在学习 golang 当我阅读描述结构的章节时 我遇到了初始化结构的不同方法 p1 passport var p2 passport p3 passport Photo make byte 0 0 Name Scott Surname
  • 如何在Windows中编译nDPI库自带的ndpiReader.c?

    我想创建一个 exendpiReader c附带的演示程序nDPI library 我使用 github 页面上指定的命令成功地在 Ubuntu 上编译了它 如下所示 autogen sh configure make 我尝试在 Ubunt
  • 如何在C#中执行Go函数

    有没有办法从 C 执行 Go 函数 例如 对于 Python 我会使用 Ironpython 我知道我可以生成一个进程来执行 Go 脚本 但如果可能的话 我真的不想回退到这样的解决方案 Google 搜索没有显示任何内容 那么有什么方法可以
  • 完全删除使用“go get”安装的软件包?

    我正在使用 Go 1 13 1 最新版本 我正在尝试完全删除我安装的软件包go get来自 GitHub 这go clean i
  • 在处理程序之后访问 HTTP 请求上下文

    在我的日志记录中间件 链中的第一个 中 我需要访问一些在链下游的某些身份验证中间件中编写的上下文 并且仅在处理程序本身执行之后 旁注 需要首先调用日志记录中间件 因为我需要记录请求的持续时间 包括在中间件中花费的时间 此外 当权限不足时 身
  • Go 无法推断赋值中的类型:“non-name on left side of :=”

    该片段按预期工作play golang org p VuCl OKMav http play golang org p VuCl OKMav i 10 next 11 prev i i next 然而这个几乎相同的片段给出了non name
  • 错误“binary.Write:无效类型”是什么意思?

    下面显示的代码 我创建了一个结构类型并希望将其编码为二进制 但它显示binary Write invalid type main Stu错误 我读过一些类似的代码 但我找不到为什么我的代码不起作用 type Stu struct Name
  • 与 Reflect.StructTag.Get 不兼容

    我当时在 Google Cloud 中工作 一切都很好 但是当我在 PC 中克隆所有项目时 每个 JSON 结构中都有此消息 结构体字段标签bson edad json edad omitempty 与reflect StructTag G
  • 为 OpenWrt 编写和编译程序

    我有一个在 OpenWRT 下运行的具有 MIPS 架构的嵌入式设备 系统类型 MediaTek MT7628AN ver 1 eco 2机器 WRTnode2P 处理器 0CPU型号 MIPS 24KEc V5 5 我想通过我的电脑 ub
  • 使用 StructScan 将 postgresql 数组获取到结构中

    测试数据 CREATE TABLE test id int data text INSERT INTO test id data VALUES 1 a b c 去代码吧 第一个 一个运行良好的 func main db sqlx Open
  • Golang 有 libfaketime 替代品吗?

    我想自动化一些测试 我必须操纵系统时间来检查用 golang 编写的程序的身份验证行为 根据这个帖子 https stackoverflow com questions 36024872 libfaketime doesnt work wi
  • 如何在iPhone中编译Eigen

    我想编译 Eigen 并在具有 NEON 功能的 iPhone 中使用它 如何在iPhone中编译Eigen 是否需要针对特定 ARM芯片进行编译 我需要修改构建脚本吗 Cheers 由于最新版本的 Eigen 开箱即用地支持 ARM NE
  • 使用ticker定期从经常变化的路径加载内存中的所有文件?

    我有一个应用程序需要从两个不同的路径读取文件 读取所有这些文件后 我需要将它们加载到内存中products map Path Full 这是内存中服务器启动期间需要加载的所有文件的路径 该路径将包含大约 50 个文件 每个文件大小约为 60
  • 非本地包中的本地导入

    我知道应该避免本地进口 但在这种情况下有特殊情况需要 这是一个私人仓库 heroku buildpack 在go get 由于服务器上缺少私钥 与绝对 URL 一起使用时会出现此阶段 现在我得到这个错误local import in non
  • 在 Go 中传递任意函数作为参数

    我正在尝试扩展我对 Go 函数指针的了解 并且我有一个问题 在 Go 中将函数作为参数传递可以做什么 不可以做什么 假设我想写一个decorator 可以包装任何现有函数的函数 为简单起见 我们将其限制为仅接受一个参数并仅返回一个值的函数
  • 使用指针接收器调用函数的 Go 语法

    在Go中 如果我定义一个带有指针的函数作为接收者 它是否应该只允许从指针调用该函数 为什么从值本身调用这个函数就可以 并且有同样的效果 例如 在以下程序中 m1 reset 和 m2 reset 具有相同的效果 即使 m1 是一个值而 m2
  • go install - 我需要手动更新我的路径吗?

    我对 Go 的最新最佳实践是什么有点困惑 在 macos 上安装最新的 1 17 Go 没有 GOPATH 环境变量 使用 go mod 我看到我的路径中有以下内容 usr local go bin 当我跑步时go install
  • 使用结构解析 YAML

    我创建了以下 YAML 文件来提供用户需要提供的一些配置 Environments sys1 models app type app1 service type fds app type app2 service type era sys2

随机推荐

  • 确定一组点是在正方形内部还是外部

    我有其中两个 bool isPointOnShape int a int b bool isPointInShape int a int b 假设我有一个正方形 第一个点 左下角 是 x y 0 0 第二个点 左上角 是 0 2 第三个点是
  • Windows Azure AppFabric 访问控制服务 (ACS) 中的 OAuth 2.0 身份提供程序

    OAuth 2 0 委派包含在 Azure AppFabric 访问控制服务中 http blogs objectsharp com cs blogs steve archive 2011 04 11 windows azure acces
  • Mysql关于重复键更新+子查询

    使用这个问题的答案 需要 MySQL INSERT SELECT 查询具有数百万条记录的表 https stackoverflow com questions 662877 need mysql insert select query fo
  • Visual Studio 在哪里存储调试时使用的默认浏览器?

    我使用 Firefox 作为默认浏览器 但在 Visual Studio 中工作时 我想在调试时启动 IE 我们都知道 在MVC应用程序中 没有办法选择默认浏览器 除非您添加一个Web表单文件 右键单击它 选择浏览方式 然后强制将浏览器设置
  • 使用函数重载进行解构

    我正在尝试创建一个函数 该函数需要一对坐标或一个对象x and y属性并返回邻居列表 但由于某种原因 即使我检查了它的类型 我也无法解构该对象 interface Coords x number y number public getNei
  • Javascript 将对象推送为克隆

    我将 d3 用于交互式网络应用程序 我需要绑定的数据在交互过程中发生变化 并且由 JSON 变量中的一些选定对象组成 为此 我在 JSON 变量上使用了映射 并进行了一些查询来选择适当的对象 对象被推送到列表中 并且该列表被绑定为新数据 我
  • 如何通过不同的接口路由 TCP/IP 响应?

    我有两台机器 每台机器都有两个有效的网络接口 一个以太网接口eth0和 tun tap 接口gr0 目标是使用接口在机器 A 上启动 TCP 连接gr0但然后让机器 B 的响应 ACK 等 通过以太网接口返回 eth0 因此 机器 A 发出
  • 禁用 com.google.android.maps.MapView 中的平移/缩放

    如何禁用 MapView 的平移 缩放功能 不是缩放控件 我想要一个完全静态的地图 我还注意到触摸地图似乎不会触发 MapView onClickListener 有人可以详细说明为什么吗 对于 Android 版 Google Maps
  • actions-on-google-dialogflow-session-entities-plugin 在dialogflow的内联编辑器中不起作用

    我无法使用以下插件在内联编辑器中创建会话实体 actions on google dialogflow session entities plugin 我声明了变量 包 const sessionEntitiesHelper require
  • Django:模拟模型上的字段

    如何将模拟对象分配给该模型上的用户字段 无论如何都要绕过 SomeModel user 必须是 User 实例 检查吗 class SomeModel models Model user models ForeignKey User 我不会
  • 如何在React Native的MapView中设置标记

    我想在React Native中的MapView上设置一个标记 但是通过官方文档找不到任何信息MapView https facebook github io react native docs mapview html content 如
  • jquery悬停一次?

    jquery 使悬停函数执行一次然后停止的方法是什么 one 不起作用 button color 2 hover function dosmth 谢谢 Hover http api jquery com hover 绑定处理程序鼠标输入 h
  • 如何使用 CSS 或 jQuery 设置第一个和最后一个 li 的样式?

    我如何设计第一个 顶级 li和最后一个 顶层 li使用 CSS 还是 jQuery 我正在使用 CSS 设置第一个li但它也是造型第一li在每个中学阶段ul 那么我怎样才能让它只设置样式li其中包含 Main 1 最后一个包含 Main 6
  • 在 String 值之后打印 int 值

    我有以下示例代码 int pay 80 int bonus 65 System out println pay bonus bonus pay 有人可以向我解释一下为什么我得到以下输出 145 6580 您的代码正在从左到右解释表达式 pa
  • 如何从字符串中分离字符和数字部分

    例如 我想分开 OS234 to OS and 234 AA4230 to AA and 4230 我使用了以下简单的解决方案 但我确信应该有一个更有效和更强大的解决方案 private void demo string cell ABCD
  • 使用机器人框架进行 ATDD

    我想听听其他人使用 Robot Framework 进行自动化验收测试的经验 它的主要优点和缺点是什么以及与其他框架 主要是 Fitnesse 和 Selenium 的比较 将测试的代码是实时的遗留代码 主要是 C 语言 在我撰写本文时 我
  • 如何使用r中的dplyr在特定位置插入空白行

    我想在数据框中的特定位置插入空白行 我的数据框是这样的 dat lt data frame group c rep A 1 rep B 4 rep C 2 rep D 2 group 1 A 2 B 3 B 4 B 5 B 6 C 7 C
  • 将应用程序部署到 IBM liberty Profile 时执行 CICS 请求时出错

    我有一个应用程序 如果我将它 在我的本地 部署到 WAS 中 它可以完美运行 但是 如果将其部署到 IBM J9 VM 版本 pwa6470 27sr2fp10 20141218 02 SR2 FP10 中的 Liberty Profile
  • aws log get-log-events --log-group-name 问题

    我尝试使用 aws 日志检索日志 但 aws cli 命令未正确处理日志组名称 aws logs get log events log group name aws lambda mySkillName log stream name 20
  • 所有可能的 GOOS 价值?

    如果我做对了 GOOS在编译源代码时确定 为了更好地支持多个操作系统 我感兴趣的是GOOS可能 当然 Go 是开源的 所以它可能有无限的可能性 所以我真正想要的是一个 通用列表 已知值为 windows linux darwin or fr