go语言中获取本机sid、mac地址和cpuid的方法(windows系统下有效)

时间:2025-03-02 08:42:03
package main import ( "fmt" "net" "os/exec" "regexp" ) func main() { var ( mac string cpuid string ) mac = getMac() cpuid = getCpuId() fmt.Println("mac:" + mac) fmt.Println("cpuid:" + cpuid) } func getMac() string { // 获取本机的MAC地址 interfaces, err := net.Interfaces() if err != nil { panic("Poor soul, here is what you got: " + err.Error()) } inter := interfaces[0] mac := inter.HardwareAddr.String() //获取本机MAC地址 // ("MAC = ", mac) return mac } func getCpuId() string { cmd := exec.Command("wmic", "cpu", "get", "ProcessorID") out, err := cmd.CombinedOutput() if err != nil { fmt.Println(err) } // (string(out)) str := string(out) //匹配一个或多个空白符的正则表达式 reg := regexp.MustCompile("\\s+") str = reg.ReplaceAllString(str, "") return str[11:] }