如何理解go中的interface接口

对于go语言中interface接口的理解,有一个疑问:既然接口只保存了函数,那么他到底有没有操作实际对象呢?如果操作的话,是怎么操作实际对象的?

答案:是。怎么操作的,请看一层一层的解释。

1,假设有一个结构体,通过绑定method的形式,实现了一个接口所需要的所有方法。那么它就可以理解为一个接口的实现。本身结构体中除了method以外,还有别的字段,那么就可以通过method修改字段的值,也就是修改了对象

2,可以将别的对象作为参数传递给接口中的方法

问:接口中到底保存了什么内容?

答:接口类型的变量保存了实现了该接口的类型的对象。

问:interface有继承吗?

答:有。和struct一样,通过嵌入interface的方式实现。比如

// io.ReadWriter
type ReadWriter interface {
	Reader
	Writer
}

ReadWriter自动具有Reader和Writer定义的一切方法。

猜你喜欢

转载自blog.csdn.net/jigetage/article/details/89186475