go 方法
Golang中的任何自定义类型,都可以有方法,而不仅仅是struct。
定义:func (recevier type) methodName(参数列表)(返回值列表){}
- 方法的访问控制,通过大小写控制
- 如果一个struct嵌套了另一个匿名结构体,那么这个结构可以直接访问匿名结构体的方法,从而实现了继承。
- 如果一个struct嵌套了另一个有名结构体,那么这个模式就叫组合。
- 如果一个struct嵌套了多个匿名结构体,那么这个结构可以直接访问多个匿名结构体的方法,从而实现了多重继承。
样例:
package main import ( "fmt" ) type Int int func (i *Int)Add(a, b int) { *i = Int(a + b) return } func testInt() { var a Int a.Add(100, 200) fmt.Println(a) } func main() { testInt() }
结构体样例
package main import ( "fmt" ) type Student struct { Name string Age int } func (s *Student) Set(name string, age int) { s.Name = name s.Age = age } func testStudent() { var s Student s.Set("abc", 100) fmt.Println(s) } func main() { testStudent() }