你能解释一下Go Interfaces吗?

时间:2011-10-11 05:43:35

标签: go

我没有得到整个类型+接口模型(用其他语言替换类)。如果你能用一种简单的方式来解释它们的含义,我们将非常感激。

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:4)

Go接口是静态检查鸭子打字。

C ++中的纯虚拟类或java中的接口之间的区别在于,您没有在实现接口的类上声明接口,而是在接收接口的方法上声明接口。

例如,我可以创建一个包含ReadWrite方法的界面,并将其命名为ThingsDustinReadsAndWrites并拥有一个名为doReadsAndWrites(rr ThingsDustinReadsAndWrites的函数。反过来,这可能会收到一个内置的http.ClientConn,它从未听说过我的界面,但实现了它,因为碰巧有这些方法。