判断Golang接口是否实现

作者: ljh123 | 来源:发表于2018-12-26 20:04 被阅读5次

    今天在看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)
    

    相关文章

      网友评论

        本文标题:判断Golang接口是否实现

        本文链接:https://www.haomeiwen.com/subject/tveklqtx.html