在平常工作中可能会遇到需要获取本机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运行环境