将IPMask转换为IPAddr

时间:2018-09-21 16:52:27

标签: go

我想以与net.IPMask相同的符号显示net.IPAddr类型的对象。我希望能够对IPv4和IPv6掩码都执行此操作。例如:

“ fffffe00” --->“ 255.255.254.0”

我可以通过手动解析net.IPMask类型的对象来实现。但是,是否有一种方法可以将net.IPMask类型的对象转换为net.IPAddr类型的对象,最好使用内置在net程序包中的函数呢?

1 个答案:

答案 0 :(得分:3)

net.IPMask只是一个IP地址,因此您可以将其转换为net.IP并调用其String()方法以获取格式化的IP地址:

mask := net.CIDRMask(23, 32)
addr := net.IP(mask).String()

https://play.golang.org/p/A_oJfD8lpwP