内容简介:ipmask存储掩码,掩码是指定ip地址中前多少位是网络地址的。type IPMask []byte
IPMask
ipmask存储掩码,掩码是指定ip地址中前多少位是网络地址的。
type IPMask []byte
/* Mask */ package main import ( "fmt" "net" "os" ) func main() { if len(os.Args) != 2 { fmt.Fprintf(os.Stderr, "Usage: %s dotted-ip-addr\n", os.Args[0]) os.Exit(1) } dotAddr := os.Args[1] addr := net.ParseIP(dotAddr) if addr == nil { fmt.Println("Invalid address") os.Exit(1) } mask := addr.DefaultMask() network := addr.Mask(mask) ones, bits := mask.Size() fmt.Println("Address is ", addr.String(), " Default mask length is ", bits, "Leading ones count is ", ones, "Mask is (hex) ", mask.String(), " Network is ", network.String()) os.Exit(0) }
测试
$ go build . $ ./net 127.0.0.1 Address is 127.0.0.1 Default mask length is 32 Leading ones count is 8 Mask is (hex) ff000000 Network is 127.0.0.0
以上所述就是小编给大家介绍的《go-network[2]-ipmask》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。