你可以使用net包中的ParseCIDR
函数来将IP地址和子网掩码转换为网络地址和子网前缀长度。以下是一个示例代码:
package main
import (
"fmt"
"net"
)
func main() {
ip := "192.168.0.1"
mask := "255.255.255.0"
// 解析IP和子网掩码
ipAddr, ipNet, err := net.ParseCIDR(fmt.Sprintf("%s/%s", ip, mask))
if err != nil {
fmt.Println("解析失败:", err)
return
}
// 获取子网前缀长度
prefixLen, _ := ipNet.Mask.Size()
fmt.Printf("IP: %s\n", ipAddr.String())
fmt.Printf("Subnet Mask: %s\n", mask)
fmt.Printf("Prefix Length: %d\n", prefixLen)
}
在上述代码中,我们使用ParseCIDR
函数将IP地址和子网掩码解析为IP地址、网络地址以及对应的子网前缀长度。然后,我们打印出这些值。
运行该程序将输出如下结果:
IP: 192.168.0.1
Subnet Mask: 255.255.255.0
Prefix Length: 24
希望这可以帮助到你!如果有任何其他问题,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问