目录
一、方法
1、创建方法
在go语言中方法类似于函数,但是区域在于结构为func关键词后面还有个参数部分
例如:
type Move struct {
Name string
Rating float64
}
func (m *Move) summary() string {
//code
}
1.1、创建方法的好处
在func后面的括号中的参数,叫做接收者,这样的好处在于如果我们直接用函数去使用Move结构体是一种重复的操作,但是使用此种方法则可以灵活的使用,避免每次的重复操作
例如
type Move struct {
Name string
Rating float64
}
func (m *Move) summary() string {
r := strconv.FormatFloat(m.Rating, 'f', 1, 64)
return m.Name + "," + r
}
func main() {
m := Move{
Name: "zs",
Rating: 1.0,
}
fmt.Println(m.summary())
s := Move{
Name: "ls",
Rating: 1.2,
}
fmt.Println(s.summary())
}
二、创建使用方法集
方法集是对特定数据类型进行调用的一组方法,方法集可以包含的数量不受限制。
例如:
type Move struct {
Name string
}
func (m *Move) summary() string {
return m.Name
}
func (m *Move) summarys() string {
return m.Name + "summarys"
}
func main() {
s := Move{
Name: "张三",
}
fmt.Println(s.summary())
fmt.Println(s.summarys())
}
两个方法中的接收者参数一致,接收者指针指向了同一结构体,两个方法执行的过程是不一样的。