去函数语法解释

时间:2015-02-09 03:21:27

标签: go

我正在读一本书。

出现了一个功能:

  

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)是什么?

2 个答案:

答案 0 :(得分:1)

https://golang.org/ref/spec#Function_declarations

“方法声明” - 为接收器基类型定义方法的方法。

答案 1 :(得分:0)

此语法允许您从IP类型调用DefaultMask(),类似于成员函数在其他语言中的工作方式:

ip.DefaultMask()

(ip IP)基本上代表&#34; thiscall&#34;参数。