纯Golang实现的dmidecode, 零依赖, 支持Linux, Unix, Windows
功能和命令行的dmidecode工具一样, 使用方式参考: example
开发过程相关小博客: 使用Golang重新实现dmidecode
$ go get "github.com/yumaojun03/dmidecode"
package main import ( "fmt" "os" "github.com/yumaojun03/dmidecode" ) func checkError(err error) { if err != nil { fmt.Println(err) os.Exit(1) } } func main() { dmi, err := dmidecode.New() checkError(err) infos, err := dmi.BIOS() // 支持以下类型的解析 // dmi.BaseBoard() // dmi.Chassis() // dmi.MemoryArray() // dmi.MemoryDevice() // dmi.Onboard() // dmi.PortConnector() // dmi.Processor() // dmi.ProcessorCache() // dmi.Slot() // dmi.System() checkError(err) for i := range infos { fmt.Println(infos[i]) } }
$ go run cmd/main.go -d -t [bios, system, baseboard, chassis, onboard, port, processor, memory, slot]