前言

最近工作需要,需求为获取树莓派以太网ip
地址和mac地址,看了下golang的文档,发现net.InterfaceByName可以完成这个目标。

clipboard.png

实现

        //以太网网卡名称为eth0
        inter, err := net.InterfaceByName("eth0")
        if err != nil {
                log.Fatalln(err)
        }
        //mac地址
        fmt.Println(inter.HardwareAddr.String())
        addrs, err := inter.Addrs()
        if err != nil {
                log.Fatalln(err)
        }
        //ip地址一个ip4一个ip6
        for _, addr := range addrs {
                fmt.Println(addr.String())
        }

运行结果:

clipboard.png

后记

当然,树莓派3代自带无线网卡,名字换为wlan0就可以获取无线网卡ip。