笔者在阅读一些Golang代码的时候。常常会遇到一些以下写法
type IRouter interface {
IRoutes
Group(string, ...HandlerFunc) *RouterGroup
}
type RouterGroup struct {
Handlers HandlersChain
basePath string
engine *Engine
root bool
}
var _ IRouter = &RouterGroup{}
其实这个是为了验证某某接口是否被实现了?
对内存的占用,还有看到这种写法的
var _ Tester = (*Test)(nil)
这种写法区别在于:new是编译的时候检查,这样写是运行的时候检查。
有疑问加站长微信联系(非本文作者)