我有一段CIDR表示法的字符串.它们都是ipv4和ipv6,我需要将它们转换为net.IPNet类型.
我怎么在golang做这个?
示例字符串:
192.168.1.1/24
fd04:3e42:4a4e:3381 :: / 64
解决方法
正如cnicutar所说使用net.ParseCIDR.
这是一个关于如何实际使用它的工作示例.
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) } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。