对于IP地址可以表示一个网络连接,但是无法唯一标识一台主机,而MAC地址是主机网卡的物理地址,这个对于一台主机来说是不会改变的。
func mac(){
// 获取本机的MAC地址
interfaces, err := net.Interfaces()
if err != nil {
panic("Poor soul, here is what you got: " + err.Error())
}
for _, inter := range interfaces {
fmt.Println(inter.Name)
mac := inter.HardwareAddr //获取本机MAC地址
fmt.Println("MAC = ", mac)
}
}
上面的代码可以获得主机上的所有网卡的物理地址(例如笔记本电脑可以连接无线网和有线连接,这就是两个不同的MAC地址)
所以一般取第一个MAC地址作为唯一标识。
func mac(){
// 获取本机的MAC地址
interfaces, err := net.Interfaces()
if err != nil {
panic("Poor soul, here is what you got: " + err.Error())
}
//for _, inter := range interfaces {
//fmt.Println(inter.Name)
inter := interfaces[0]
mac := inter.HardwareAddr.String() //获取本机MAC地址
fmt.Println("MAC = ", mac)
//}
}