分享
  1. 首页
  2. 主题
  3. Go问与答

如何解释 `address.(*net.IPNet)`

murphyzhao · · 2027 次点击 · 开始浏览 置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

下面是网上一个获取本机 ip 的一个程序,程序中 for 遍历的时候有一句话 `address.(*net.IPNet)`,不知道如何理解,请教大佬们 ``` addrs, err := net.InterfaceAddrs() if err != nil { log.Fatalln("Error: ", err) } log.Println(addrs) log.Printf("%T", addrs) log.Printf("%#v", addrs) for _, address := range addrs { // 检查ip地址判断是否回环地址 if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { if ipnet.IP.To4() != nil { log.Println(ipnet.IP.String()) } } } ``` ``` log.Println(addrs) log.Printf("%T", addrs) log.Printf("%#v", addrs) ``` 上面的输出结果对应如下: ``` 2019年10月04日 14:27:58 [fe80::ec48:11d9:86ac:7c54/64 192.168.1.113/24 fe80::995d:14ef:8349:bc9f/64 169.254.188.159/16 fe80::981:65dc:f28b:6c9a/64 169.254.108.154/16 fe80::f936:3746:4559:6e54/64 169.254.110.84/16 192.168.137.1/24 fe80::e9da:aee7:6f5c:db0a/64 169.254.219.10/16 ::1/128 127.0.0.1/8] 2019年10月04日 14:27:58 []net.Addr 2019年10月04日 14:27:58 []net.Addr{(*net.IPNet)(0xc0000c2000), (*net.IPNet)(0xc0000c2030), (*net.IPNet)(0xc0000c2060), (*net.IPNet)(0xc0000c2090), (*net.IPNet)(0xc0000c20c0), (*net.IPNet)(0xc0000c20f0), (*net.IPNet)(0xc0000c2120), (*net.IPNet)(0xc0000c2150), (*net.IPNet)(0xc0000c2180), (*net.IPNet)(0xc0000c21b0), (*net.IPNet)(0xc0000c21e0), (*net.IPNet)(0xc0000c2210), (*net.IPNet)(0xc0000c2240)} ```

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
2027 次点击
3 回复 | 直到 2019年10月09日 09:49:40
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)