检测操作系统版本

时间:2019-07-15 10:57:41

标签: go operating-system

运行时程序包可以返回操作系统。这很棒,因为有人可以致电runtime.GOOS,该电话将返回:

const GOOS = `windows`
const GoosAix = 0
const GoosAndroid = 0
const GoosDarwin = 0
const GoosDragonfly = 0
const GoosFreebsd = 0
const GoosHurd = 0
const GoosJs = 0
const GoosLinux = 0
const GoosNacl = 0
const GoosNetbsd = 0
const GoosOpenbsd = 0
const GoosPlan9 = 0
const GoosSolaris = 0
const GoosWindows = 1
const GoosZos = 0

在某些用例中,这还不够,用户只希望检测特定版本,而仅检测OS系列。如何检测操作系统的版本?

在命令行中,有人可以键入:

sw_vers在macOS上

  

产品名称:Mac OS X

     

ProductVersion:10.14.5

     

BuildVersion:18F132

lsb_release -a在Ubuntu上

  

分发者ID:Ubuntu

     

说明:Ubuntu 14.04.5 LTS

     

发布:14.04

     

代号:trusty

ver在Windows上

  

Microsoft Windows [版本10.0.17134.829]

我猜这可以通过使用os/exec并解析上面命令的输出来完成,但是还有更好的方法吗?

0 个答案:

没有答案