如何确定
netip.ParsePrefix()
解析的CIDR块是IPv4还是IPv6格式?
net.ParseCIDR()
,我可以打电话给 .To4()
并测试 nil
。 p, err := netip.ParsePrefix(cidr)
p.Is4() // ERROR! p.Is4 undefined (type netip.Prefix has no field or method Is4)
调用
p.Addr()
检索前缀的 IP 地址,然后针对该地址调用 .Is4()
或 .Is6()
。
例如:
p.Addr().Is6()
或者更长的例子:
p, err := netip.ParsePrefix(cidr)
fmt.Printf("p=%v ipv6=%v, err=%v\n", p, p.Addr().Is6(), err)