判断Golang接口是否实现

栏目: Go · 发布时间: 7年前

内容简介:今天在看beego config模块fake.go文件的时候,看到var _ Configer = new(fakeConfigContainer)这行代码,一开始不懂这行代码的功能是什么?后面了解到这行代码的作用是判断fakeConfigContainer结构体是否实现了Configer这个接口案例:

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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

迷茫的旅行商

迷茫的旅行商

[美] William J. Cook / 隋春宁 / 人民邮电出版社 / 2013-10-1 / 49.00

假设一名旅行商打算拜访一张城市列表中的所有城市,每座城市只去一次,最后回到出发地。要怎么走才能让路线最短呢?这就是旅行商问题,乍一听很简单,在应用数学界却是一道研究极其热烈的难题,时至今日仍无人能解。本书中,William J. Cook将带领读者踏上一场数学之旅,跟随旅行商的脚步,从19世纪初爱尔兰数学家W. R. Hamilton最初定义该问题开始,一路奔向当今最前沿、最顶尖的解题尝试。 ......一起来看看 《迷茫的旅行商》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试