在平常工作中可能会遇到需要获取本机mac地址或cpuid的场景,综合网上的办法,亲自试验总结如下:
1.如果只是要查本机sid地址,则很简单,直接在cmd命令窗口中输入命令:
whoami /user 回车即可
在这里插入图片描述
2.如果需要在程序中获取mac地址和cpuid,则可以参考以下代码:

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地址
	//	fmt.Println("MAC = ", mac)
	return mac
}

func getCpuId() string {
	cmd := exec.Command("wmic", "cpu", "get", "ProcessorID")
	out, err := cmd.CombinedOutput()
	if err != nil {
		fmt.Println(err)
	}
	//	fmt.Println(string(out))
	str := string(out)
	//匹配一个或多个空白符的正则表达式
	reg := regexp.MustCompile("\\s+")
	str = reg.ReplaceAllString(str, "")
	return str[11:]
}

实际运行结果如下:
在这里插入图片描述
当然,前提是您的本机上得配置好go运行环境