golang检查结构是否实现对应interafce方法,var

2021-05-11  本文已影响0人  哆啦在这A梦在哪

gin框架的gin.go : 238行的一句代码

var _ IRouter = &Engine{}

直接的理解是新申明一个“忽略”的字段,类型为IRouter(这个是inerface),并且把一个空的接Engine结构赋值给他。

这里不明白这句话的作用。查看资料后明白。

IRouter这个interface里面包含的方法太多了,为了防止Engine在实现这些方法的时候出现意外,比如少一个,或者写错,有时候很难发现。加上这个就能直接检查,如果没有按照这个interface的方法实现,就直接编译出错,很直接的检查方法

上一篇下一篇

猜你喜欢

热点阅读