go 方法
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()
}

浙公网安备 33010602011771号