结构第一行只是一个接口,是什么意思?
问题描述:
我碰到过这样的代码中去:结构第一行只是一个接口,是什么意思?
type Mytype struct {
Interfacename
var1 ClientInterface1
var2 ClientInterface2
id int
}
是什么第一场是什么意思?
答
大部分是,这是怎样在某种程度上实现某种继承(通过组合而不是继承)。检查了这一点:https://golang.org/doc/effective_go.html#embedding
这将授予外部类型(MyType
)访问此内部类型的Receiver方法(分配的结构{},因为这是一个接口)。
有其中嵌入由不同子类的重要途径。 当我们嵌入型,该类型的 外类型的成为方法的方法中,但是当它们被调用的方法的接收器是 内类型,而不是外层一个
由于@Flimzy和@ md2perpe
此外,这定义了一个匿名字段,为此,变量名是相同的作为其类型的名称。
感谢Flimzy的帮助! – Jamesszm