21、Embedding
00 分钟
2022-8-26
Go支持对于结构体(struct)和接口(interfaces)的嵌入(embedding)以表达一种更加无缝的组合(composition)类型
 
 
 
 
 
 
 
 
 
 
一个container嵌入了一个base,一个嵌入看起来像一个没有名字的字段
 
 
当创建含有嵌入的结构体,必须对嵌入进行显式的初始化;在这里使用嵌入的类型当做字段的名字
 
 
我们可以直接在co上访问base中定义的字段,例如:co.num
或者,我们可以使用嵌入的类型名拼写出完整的路径
由于container嵌入了base,因此base的方法也成为了container的方法。在这里我们直接在co上调用了一个从base嵌入的方法。
 
 
可以使用带有方法的嵌入结构来赋予接口实现到其他结构上。因为嵌入了base,在这里我们看到container也实现了describer接口。
 
 
 
 
 
 
 
上一篇:
20、接口
下一篇:
22、错误处理

评论