2017-06-23 44 views

回答

6

對此沒有簡單的答案,因爲這是操作系統特定的。一種選擇是使用os/exec軟件包和解析命令輸出(針對Windows,Linux和OS X的不同命令)。例如,爲了獲得序列號:

  • 的Windows:wmic bios get serialnumber

  • 的Linux:dmidecode -t system

  • OS X:ioreg -l

然後用Go代碼合併爲OS X案例:

out, _ := exec.Command("/usr/sbin/ioreg", "-l").Output() // err ignored for brevity 
for _, l := range strings.Split(string(out), "\n") { 
    if strings.Contains(l, "IOPlatformSerialNumber") { 
     s := strings.Split(l, " ") 
     fmt.Printf("%s\n", s[len(s)-1]) 
    } 
}