10.5 匿名字段和内嵌结构体

Kesa...小于 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