1. 程式人生 > >golang 獲取主機網絡卡對應的ip

golang 獲取主機網絡卡對應的ip

import "net"

func Ips() (map[string]string, error) {

    ips :=  make(map[string]string)

    interfaces, err := net.Interfaces()
    if err != nil {
        return nil, err
    }

    for _, i := range interfaces {
        byName, err := net.InterfaceByName(i.Name)
        if err != nil {
            return nil, err
        }
        addresses, err := byName.Addrs()
        for _, v := range addresses {
            ips[byName.Name] = v.String()
        }
    }
    return ips, nil
    }