Go中的继承与组合
组合
如果一个结构体嵌套了另一个有名的结构体,那么这叫做组合。
继承
如果一个结构体中嵌套了另一个匿名结构体,那么这个结构体可以直接访问匿名结构体的方法,从而实现继承。
实例
// 父结构体
type BaseController struct {
}
// 父结构体的方法
func (c *BaseController) ReturnJson() {
}
// 继承
type UserController struct {
BaseController
}
// 组合
type OtherController struct {
userController UserController
}
// 调用
user := UserController{}
other := OtherController{}
user.ReturnJson() //继承直接调用父结构体方法
other.userController.ReturnJson() //组合调用结构体方法
版权声明:本文为z226688原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。