地址可以使用net包中的方法来实现。下面是一个示例代码:
package main
import (
"fmt"
"net"
)
func main() {
interfaces, err := net.Interfaces()
if err != nil {
fmt.Println("Error:", err)
return
}
for _, iface := range interfaces {
addrs, err := iface.Addrs()
if err != nil {
fmt.Println("Error:", err)
continue
}
for _, addr := range addrs {
switch v := addr.(type) {
case *net.IPNet:
if !v.IP.IsLoopback() && v.IP.To4() != nil {
mac := iface.HardwareAddr
fmt.Printf("MAC address: %s\n", mac.String())
return
}
}
}
}
}
该程序会依次遍历所有网络接口,查找具有IPv4地址且非回环地址的接口,并返回该接口的MAC地址。