最近学习go语言, 发现结构体中除了放置属性外也同样可以放置匿名函数
type A struct {
f func(a, b int) (int, int) // 结构体中的匿名函数
name string
}
但是同样的结构体也存在方法定义
func (a, A) Call(){
fmt.Println("Call")
}
所以这两种的使用区别在哪呢?
我所能见到的, 基本就两点
- 方法的定义会涉及到接口的标准;
- 方法可以调用机构体本身修改内部属性;
总结而言就是, 已经存在方法定义了, 为什么结构体内还能够定义函数, 结构体内函数的应用场景在哪?