Golang:IP掩码的位数
在Go中,如何获得IP掩码的位数,如下所示:Golang:IP掩码的位数,go,ip-address,Go,Ip Address,在Go中,如何获得IP掩码的位数,如下所示:10.100.20.0 255.255.255.0=>24bits maks 检查掩码是否小于或大于一定数量的位(如要阻止所有大于/24的地址)会很有帮助。该软件包具有获取掩码前缀大小的功能,该值在中使用。位的具体功能是: 要获取位,请参见以下示例: package main import ( "fmt" "net" ) func main() { mask := net.IPMask(net.ParseIP("255.2
10.100.20.0 255.255.255.0
=>24
bits maks
检查掩码是否小于或大于一定数量的位(如要阻止所有大于/24的地址)会很有帮助。该软件包具有获取掩码前缀大小的功能,该值在中使用。位的具体功能是:
要获取位,请参见以下示例:
package main
import (
"fmt"
"net"
)
func main() {
mask := net.IPMask(net.ParseIP("255.255.255.0").To4()) // If you have the mask as a string
//mask := net.IPv4Mask(255,255,255,0) // If you have the mask as 4 integer values
prefixSize, _ := mask.Size()
fmt.Println(prefixSize)
}
输出:
二十四
Ps.
我猜你指的是位掩码255.255.255.0太棒了!我知道有一种更简单的方法()@AdrianoP您的函数工作得很好:)。但是,当Size()不是标准形式时,它将返回0而不是-1(就像在函数中一样);1后跟0。