共计 430 个字符,预计需要花费 2 分钟才能阅读完成。
本文视频地址
办法申明
func(接受者 类型 / 类型指针) 办法名(参数列表)(返回值列表 {
// 办法体
}
通过接收者,上述办法被绑定到某个类型上了。上述办法就是类型的一个办法,通过类型或类型指针的实例调用该办法。
var t T
t.MethodName(参数列表)
var pt *T = &t
pt.MethodName(参数列表)
办法名首字母大写巨鼎是导出办法(公开的)
办法名定义要和类型定义放在同一个包中。
func (t T) X1() 等价 X1(t T)
当接收者类型为 T 的时候,Go 函数的参数采纳的是值传递的,这样 X1 对 t 的任何批改都是在正本上的,不会影响原来 T 类型的实例。
func (t T) X2() 等价 X2(t T)
以 * T 作为接收者,这样你对 t 的任何批改都会间接反馈到 T 类型的实例中。
如果你要对类型实例进行批改,那么接收者选型 T 指针类型。
如果没有对类型实例批改的需要,那么 T 类型和 T 类型均可;然而思考调用办法的时候接收者是值拷贝,如果 size 较大,以值传递导致耗费过大,这是还是 T 更适合一些。
正文完