方法是特殊的函数,定义在某一特定的类型上,通过类型的实例来进行调用,这个实例被叫接收者(receiver)。
⽅法总是绑定对象实例,并隐式将实例作为第⼀实参 (receiver)。
方法是函数的语法糖,因为receiver其实就是方法所接收的第1个参数。
函数的基本格式:
// 定义
func FunctionName(parameters) results {
代码段
}
// 使用
FunctionName(parameters)
方法的基本格式:
// 定义
func (receiver ReceiverType接收方法类型) MethodName(parameters) results {
代码段
}
// 使用
receiver.MethodName()
具体使用:
package main
import "fmt"
type myInt int
func addFunc(a, b int) int {
return a + b
}
func (a myInt) addMethod(b myInt) myInt {
return a + b
}
func main() {
a := addFunc(1, 2)
fmt.Println(a)
var b myInt
b = 10
c := b.addMethod(20)
fmt.Println(c)
}