go方法总是绑定对象实例,并隐式将实例作为第一个实参(receiver)
- 只能为当前包内命名类型定义方法
- 参数可以任意命名,方法未使用,可以省略参数名
- 参数类型可以是T或者*T ,基类型T不能是接口或者指针
一个方法就是一个包含了接收者的函数,接受者可以是命名类型或者结构体类型的一个值或者
是一个指针。
方法定义:
func (recevier type) 方法名(参数列表) (返回值列表){}
参数和返回值可以省略
和函数定义的对比:
func 函数名称(参数列表)(返回值列表){}
普通函数与方法的区别:
1.对于普通函数,接收者为值类型时,不能将指针类型的数据直接传递,反之亦然。
2.对于方法,接收者为值类型时,可以直接用指针类型的变量调用方法,反过来同样也可以。