golang检查结构是否实现对应interafce方法,var|golang检查结构是否实现对应interafce方法,var _ IRouter = &Engine{}
【golang检查结构是否实现对应interafce方法,var|golang检查结构是否实现对应interafce方法,var _ IRouter = &Engine{}】gin框架的gin.go : 238行的一句代码
var _ IRouter = &Engine{}
直接的理解是新申明一个“忽略”的字段,类型为IRouter(这个是inerface),并且把一个空的接Engine结构赋值给他。
这里不明白这句话的作用。查看资料后明白。
IRouter这个interface里面包含的方法太多了,为了防止Engine在实现这些方法的时候出现意外,比如少一个,或者写错,有时候很难发现。加上这个就能直接检查,如果没有按照这个interface的方法实现,就直接编译出错,很直接的检查方法
推荐阅读
- 2018-06-13金句系列7(金句结构-改编古现代诗词)
- Java内存泄漏分析系列之二(jstack生成的Thread|Java内存泄漏分析系列之二:jstack生成的Thread Dump日志结构解析)
- ffmpeg源码分析01(结构体)
- 《数据结构与算法之美》——队列
- 什么是张拉膜结构雨棚(有哪些特点?)
- mysql|InnoDB数据页结构
- vuex|vuex 基础结构
- 三门问题(蒙提霍尔悖论)分析与Golang模拟
- 硬化混凝土气孔结构分析仪(型号(HC-457))
- 构建App(一)(框架与结构)