概念
方法就是一个包含接收者的函数。接收者可以是命名类型或结构体类型的一个值或指针。
语法
func (t Type) funcName(paramlist list)(return list){
}
方法与函数对比
意义
- go没有类的概念
- 方法:某个类别的行为功能,需要指定接收者
- 函数:是一段独立功能的代码,可以直接调用。
语法:
- 方法:方法名可以相同,只要接收者不同就可以
- 函数:函数名不能相同
作用域:
方法与函数作用域相同
继承中方法
- 前提条件是匿名结构体嵌套造成的继承环境里
- 方法是可以继承的,如果匿名结构体字段有一个方法m,那么包含这个匿名结构体字段的struct可以直接调用这个方法m
- 如果包含这个匿名结构体字段的struct也定义了同名方法m,则优先调用这个方法m。