linux - 如何检测 Go 中的操作系统版本?

标签 linux windows macos go

我目前正在编写一个 REST API 客户端,我正在尝试确定用户使用的操作系统,以便生成有用的用户代理字符串。这将使我能够(希望)就我将来应该支持哪些操作系统做出正确的决定。

我想做的是:生成一个看起来像这样的字符串:

Linux/1.3.2 或 Darwin /1.3.2 或 Windows/1.3.2

它应该适用于 Linux/Mac/Windows。

目前,我能够使用

检索操作系统类型(例如:“linux”/“windows”/“darwin”)
runtime.GOOS

但我无法找到获取操作系统主要/次要/微型版本的方法。

最佳答案

基于 Go google group 中的广泛讨论看起来没有可靠的东西存在。我仍然建议你看一下讨论,因为有一些有用的想法如何为特定操作系统提取一些信息。

P.S. 浏览器不会在 User_Agent 中发送此信息吗?

User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36

关于linux - 如何检测 Go 中的操作系统版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30432169/

相关文章:

linux - 如何在 grep 中抑制二进制文件匹配结果

windows - Windows 7 CMD 中的 UTF-8

c - 使用Xcode安全框架解析asn1格式

c++ - MacOSX 上 Google Perftools CPU 分析器中的行号

windows - 批处理文件删除文件时如何跳过 "are you sure Y/N"

macos - 在 OSX 应用程序中获取当前突出显示的文本?

linux - 进程会在抢占式内核中失去唤醒机会吗?

linux - 32 位机器上的 Kubernetes

regex - 如何提取文件中的字符串并替换特定的模式文本

windows - 适用于 Windows 64 位的 LVITEM