目录
方法和函数的区别
其实方法本质上就是函数,但方法是关联了类型的,可以直接通过类型的实例去调用属于该实例的方法。
例如,有一个type person,如果定义它的方法setname()和定义通用的函数setname2(),它们要实现相同的为person赋值名称时,参数不一样:
func (p *person) setname(name string) {
p.name = name
}
func setname2(p *person,name string) {
p.name = name
}
通过函数为person的name赋值,必须将person的实例作为函数的参数之一,而通过方法则无需声明这个额外的参数,因为方法是关联到person实例的。