今天在看beego config模块fake.go文件的时候,看到var _ Configer = new(fakeConfigContainer)这行代码,一开始不懂这行代码的功能是什么?
后面了解到这行代码的作用是判断fakeConfigContainer结构体是否实现了Configer这个接口
案例:
type A interface {
Print()
}
type B struct {
}
func (B)Print() {
}
var _ A = new(B)
解释:
1)这样写的话,就可以确保B结构实现了A接口,如果没有实现的话,ide会提示报错或者编译的时候会报错。
在另外一篇博客上看到一个扩展内容:
var _ A = (*B)(nil)
有疑问加站长微信联系(非本文作者)