我有一段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) } }