Go struct first line只是一个接口,它意味着什么?

Go struct first line只是一个接口,它意味着什么?,go,Go,我在Go中遇到了以下代码: type Mytype struct { Interfacename var1 ClientInterface1 var2 ClientInterface2 id int } 第一个字段是什么意思?主要是这样的,这就是在go中实现某种继承(通过组合而不是继承)的方式。看看这个: 这将授予外部类型(MyType)访问此内部类型的接收方方法的权限(分配的结构{},因为这是一个接口) 发件人: 嵌入与子类化有一个重要的区别。 当我们嵌入类型时,该

我在Go中遇到了以下代码:

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

第一个字段是什么意思?

主要是这样的,这就是在go中实现某种继承(通过组合而不是继承)的方式。看看这个:

这将授予外部类型(
MyType
)访问此内部类型的接收方方法的权限(分配的结构{},因为这是一个接口)

发件人:

嵌入与子类化有一个重要的区别。 当我们嵌入类型时,该类型的方法将成为 外部类型,但当调用它们时,方法的接收者是 内部类型,而不是外部类型

感谢@Flimzy@md2perpe


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

主要是,这就是在go中实现某种继承(通过组合而不是继承)的方式。看看这个:

这将授予外部类型(
MyType
)访问此内部类型的接收方方法的权限(分配的结构{},因为这是一个接口)

发件人:

嵌入与子类化有一个重要的区别。 当我们嵌入类型时,该类型的方法将成为 外部类型,但当调用它们时,方法的接收者是 内部类型,而不是外部类型

感谢@Flimzy@md2perpe


同样,它定义了一个匿名字段,变量名将与其类型名相同。

感谢Flimzy的帮助!谢谢Flimzy的帮助!oh ya,示例中的Kitchen不是面向对象语言中的类型接口:这是如何在Go中执行继承。oh ya,示例中的Kitchen不是面向对象语言中的类型接口:这是如何在Go中执行继承。