Go语言中的方法详解
1 方法声明
Go语言中的方法是一种带有接收者的函数。方法声明将一个标识符(方法名)绑定到一个方法,并将该方法与接收者的基类型关联。方法声明的语法如下:
func (receiver Parameter) MethodName(ParameterList) Result {
// function body code block
}
接收者参数应该是以下两种形式之一:
- name T
或 name *T
,其中 T
是一个非指针、非接口类型。
- name
可以是空白标识符 _
,或者如果接收者在方法体内部没有被引用,名称可以完全省略。
示例
type Pt1D float32
func (p Pt1D) Dist() float32 {
if p >= 0 {
return p
}
return -p
}
在这个例子中, Pt1D
是一个自定义类型, Dist
方法用于计算该类型的绝对值。如果 p
大于等于 0,则返回 p
,否则返回 -p
。