10.5 匿名字段和内嵌结构体
...小于 1 分钟
10.5 匿名字段和内嵌结构体
10.5.1 定义
- 匿名字段:只有类型的字段,字段名就是类型名
- 内嵌结构体:匿名字段类型是结构体
10.5.2 内嵌结构体
type A struct {
ax, ay int
}
type B struct {
A
bx, by int
}
可以直接访问内嵌结构体字段
b := B{}
b.ax = 1
b.ay = 2
b.bx = 3
10.5.3 命名冲突
当两个字段拥有相同的名字:
- 外层名字覆盖内层
- 同一层出现,则需指明
type A struct {
a int
}
type B struct {
a, b int
}
type C struct {
A
B
}
c.a // 错误,存在二义性
c.A.a
c.B.a
Powered by Waline v2.15.2