第 20 课 go如何实现继承的 && 给引用模块起别名

golang语言中没有继承,但是可以依靠组合来模拟继承和多态。

package controllers

import (
    "encoding/json"

    md "gowebProject/models"          // 给引用的模块起个别名

    "github.com/astaxie/beego"
)

type UserController struct {
    beego.Controller                  // 通过这种组合来实现继承
}

func (c *UserController) Get() {
    var  md.User                      // 使用别名md,引用gowebProject/models中的User
}

 

但是,这样模拟出来的继承是有局限的,也就是说:在需要多态的时候,需要小心。

 

posted @ 2019-05-02 11:01  刘大飞  阅读(508)  评论(0编辑  收藏  举报