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
