struct first line只是一个接口,它是什么意思?

时间:2017-04-08 00:46:44

标签: go

我在Go中遇到了这段代码:

type Mytype struct {
  Interfacename
  var1  ClientInterface1
  var2  ClientInterface2
  id    int
}

第一个字段是什么意思?

1 个答案:

答案 0 :(得分:2)

主要是,这就是在go中实现某种继承(通过组合而不是继承)。看看这个:https://golang.org/doc/effective_go.html#embedding

这将授予Outer类型(MyType)访问此内部类型的Receiver方法(指定的struct {},因为这是一个接口)。

来自Go Effective

  

嵌入与子类化不同的重要方法。   当我们嵌入一个类型时,那种类型的方法成为了方法   外部类型,但是当它们被调用时,方法的接收者是   内在的类型,而不是外在的类型

感谢 @Flimzy @ md2perpe

,这定义了一个匿名字段,其变量名称与其类型名称相同。