【Go学习笔记】10、结构struct
HundredLee
· · 675 次点击 ·
·
开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
结构struct
- Go中的struct与c中的struct非常相似,并且Go没有class
- 使用typestruct{} 定义结构,名称遵循可见性规则
- 支持指向自身的指针类型成员
- 支持匿名结构,可用作成员或定义成员变量
- 匿名结构也可以用于map的值
- 可以使用字面值对结构进行初始化
- 允许直接通过指针来读写结构成员
- 相同类型的成员可进行直接拷贝赋值
- 支持 == 与 != 比较运算符,但不支持 > 或 <
- 支持匿名字段,本质上是定义了以某个类型名为名称的字段
- 嵌入结构作为匿名字段看起来像继承,但不是继承
- 可以使用匿名字段指针
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| type human struct{ Sex int } type teacher struct { human Name string Age int } type student struct { human Name string Age int } func main(){ a := teacher{Name:"joe",Age:19,human:human{Sex:0}} a := student{Name:"joe",Age:20,human:human{Sex:1}} a.Name = "joe2" a.Age = 13 a.Sex = 100 }
|
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889