在struct A中声明另一个struct B,那么 B 的实例变量就能调用A的method?

kooder · · 1354 次点击
SuriFuture
http://www.cnblogs.com/susufufu/
go没有继承的概念,它是通过组合来实现类型的扩展的,组合也就是在一个类型内嵌入其它类型字段; 可以省略字段名称而直接写类型名,编译器会隐式地使用类型名来做字段名; 组合类型将拥有嵌入类型的方法集,调用这些方法可用两种方式:简写形式和不简写形式; 多看书,这些书上说的都很清楚
#5
更多评论
在struct A中声明另一个struct B:官方叫匿名成员变量,说到底还是个变量 那么 B 的实例变量就能调用A的method:实质上是B的实例通过A的匿名变量调用A的方法 无论写成 *A 或者 A,都能跑通:这是因为有自动引用跟自动解引用
#1
谢谢! 那么这种用法岂不是可以用来实现OOP的继承?
#2