第 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
}

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