// 1. 批量获取
addrs, err := net.Interfaces()
// 2. 根据网卡Index或网卡Name获取
addr, err := net.InterfaceByIndex(index) // 根据index获取
addr, err := net.InterfaceByName(name) // 根据name获取
// 3. net包可以获取到的网卡信息
// Interface represents a mapping between network interface name
// and index. It also represents network interface facility
// information.
type Interface struct {
Index int // positive integer that starts at one, zero is never used
MTU int // maximum transmission unit
Name string // e.g., "en0", "lo0", "eth0.100"
HardwareAddr HardwareAddr // IEEE MAC-48, EUI-48 and EUI-64 form
Flags Flags // e.g., FlagUp, FlagLoopback, FlagMulticast
}