我正在读一本书。
出现了一个功能:
func(ip IP)DefaultMask()IPMask
此功能的源代码位于网络包内:
func (ip IP) DefaultMask() IPMask {
if ip = ip.To4(); ip == nil {
return nil
}
switch true {
case ip[0] < 0x80:
return classAMask
case ip[0] < 0xC0:
return classBMask
default:
return classCMask
}
}
问题是:(ip IP)
是什么?
答案 0 :(得分:1)
https://golang.org/ref/spec#Function_declarations
“方法声明” - 为接收器基类型定义方法的方法。
答案 1 :(得分:0)
此语法允许您从IP类型调用DefaultMask(),类似于成员函数在其他语言中的工作方式:
ip.DefaultMask()
(ip IP)基本上代表&#34; thiscall&#34;参数。