GO语言学习笔记(八、结构 struct)

Go中的struct与C中的struct非常类似,并且Go没有class

使用type<Name> struct{} 定义结构,名称遵循可见性规则

支持指向自身的指针类型成员

支持匿名结构,可用作成员或定义成员变量

匿名结构也可以用于map的值

可以使用字面值对结构进行初始化

允许直接通过指针来读写结构成员

相同类型的成员可进行直接拷贝赋值

支持==与!=比较运算符,但不支持 > 或 <

支持匿名字段, 本质上是定义了以某个类型名为名称的字段

嵌入结构作为匿名字段看起来像继承,但不是继承

可以使用匿名字段指针

GO语言学习笔记(八、结构 struct)

GO语言学习笔记(八、结构 struct)

字面值初始化:

GO语言学习笔记(八、结构 struct)

GO语言学习笔记(八、结构 struct)

指向结构的指针,在进行参数传递的时候在参数类型前加“*”

GO语言学习笔记(八、结构 struct)

GO语言学习笔记(八、结构 struct)

支持匿名结构,可用作成员或定义成员变量

GO语言学习笔记(八、结构 struct)

GO语言学习笔记(八、结构 struct)

匿名字段, 本质上是定义了以某个类型名为名称的字段

GO语言学习笔记(八、结构 struct)

GO语言学习笔记(八、结构 struct)