社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
简言之,IRouter 是一个接口,而 Engine 实现了它。因此 Engine 算是 IRouter 的一个实例。
分析如下,参考链接:https://godoc.org/github.com/gin-gonic/gin#RouterGroup
首先在该链接中找到 type IRouter,可知 IRouter 为 interface,有一个成员函数 Group 且嵌入了 IRoutes。
可看出, IRoutes 也是一个接口,定义了 HTTP 方法。
再找到 Engine,可发下它嵌入了 RouterGroup,
再找到 RouterGroup 可知,该类实现了 IRouter 的所有方法,
由此可知 Engine 属于 IRouter 的一个实例。
关于 Golang 类型嵌入可参考:https://docs.hacknode.org/gopl-zh/ch6/ch6-03.html
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!