Go函数语法解释
Go function syntax explanation
我正在读一本书。
一个功能出来了:
func (ip IP) DefaultMask() IPMask
此函数的源代码位于 net 包中:
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)
?
此语法允许您从 IP 类型调用 DefaultMask(),类似于成员函数在其他语言中的工作方式:
ip.DefaultMask()
(ip IP) 基本上代表 "thiscall" 参数。
https://golang.org/ref/spec#Function_declarations
"Method declarations" - 为接收器基类型定义方法的方法。
我正在读一本书。
一个功能出来了:
func (ip IP) DefaultMask() IPMask
此函数的源代码位于 net 包中:
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)
?
此语法允许您从 IP 类型调用 DefaultMask(),类似于成员函数在其他语言中的工作方式:
ip.DefaultMask()
(ip IP) 基本上代表 "thiscall" 参数。
https://golang.org/ref/spec#Function_declarations
"Method declarations" - 为接收器基类型定义方法的方法。