我有这段代码:
// redacted
var (
cidr net.IPNet
createCmd = &cobra.Command{
Use: "create",
Short: "create would create something useful",
Long: "create submits a request for something useful creation based on parameters provided ",
Run: func(cmd *cobra.Command, args []string) {
//region comes from rootCmd
log.Infof("cidr: %v, ipmask: %v", cidr, cidr.IP.DefaultMask())
},
}
)
func init() {
createCmd.Flags().IPNetVar(&cidr, "vpc-cidr", cidr, "Vpc cidr range")
}
// redacted
输出:
./somethinguseful create --cidr 192.168.100.0/24
INFO[0000] cidr: {192.168.100.0 ffffff00}, ipmask: ffffff00
我无法理解命令行参数 192.168.100.0/24 在哪个阶段被转换为 net.IP 和掩码。
查看IPNet代码
func newIPNetValue(val net.IPNet, p *net.IPNet) *ipNetValue {
*p = val
return (*ipNetValue)(p)
}
// allocates default to pointer to net.IPNet if provided
没有任何代码可以将输入转换为显示的输出。如何根据 cidr 块的输入计算并打印掩码值。请任何指点。
慕工程0101907
小怪兽爱吃肉
随时随地看视频慕课网APP
相关分类