go - 将 IPMask 转换为 IPAddr

标签 go

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

“fffffe00”--->“255.255.254.0”

我可以通过手动解析 net.IPMask 类型的对象来完成此操作。但是,有没有办法通过将 net.IPMask 类型的对象转换为 net.IPAddr 类型的对象来实现此目的,最好使用 net 包中内置的函数?

最佳答案

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

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

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

关于go - 将 IPMask 转换为 IPAddr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52448110/

相关文章:

go - golang中如何将动态生成的数组对象数据转换成JSON格式的字符串?

database - 无法使 Goose DB Migration 用于 Go 测试

go - Go 库代码应该如何初始化和使用随机数生成?

security - Agora安全 token 生成(Golang)

go - 使用 Golang 客户端在 Kubernetes 中创建 Secret 的问题

github - CircleCI & Golang - 无法导入 AWS SDK

json - 在 golang 中解码平面和嵌套的 json

go - 如何使用SingleFlight分享下载的大文件?

json - 在 JSON 字符串 Golang 中检测重复项

go - 在 gorm 中为 UpdatedAt 字段使用 unix 时间戳