doushangan3690 2014-06-11 17:34
浏览 1995
已采纳

golang将字符串转换为net.IPNet类型

I have a slice of strings that are in CIDR notation. They are both ipv4 and ipv6 and I need them cast into the type net.IPNet.

How would I do this in golang?

example strings:

192.168.1.1/24
fd04:3e42:4a4e:3381::/64

  • 写回答

2条回答 默认 最新

  • donglu8549 2014-06-11 17:43
    关注

    As cnicutar says use net.ParseCIDR.

    This is a working example on how to actually use it.

    http://play.golang.org/p/Wtqy56LS2Y

    package main
    
    import (
        "fmt"
        "net"
    )
    
    func main() {
        ipList := []string{"192.168.1.1/24", "fd04:3e42:4a4e:3381::/64"}
        for i := 0; i < len(ipList); i += 1 {
            ip, ipnet, err := net.ParseCIDR(ipList[i])
            if err != nil {
                fmt.Println("Error", ipList[i], err)
                continue
            }
            fmt.Println(ipList[i], "-> ip:", ip, " net:", ipnet)
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号