Golang的Struct

值类型,赋值或传参都会复制全部内容

初始化时,要么顺序全部字段,要么按键名赋值

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

支持“==”和 " != "操作

可作 map 键类型

可定义字符标签、用于反射读取,标签也是类型的组成部分

匿名字段是一种语法糖,可嵌入任何类型,当然也包括指针

可以像普通字段那样访问匿名字段成员,编译器会从外向内逐级查找匿名字段,直接到发现目标或出错

外层同名字段会覆盖嵌入字段成员

相同层次的同名字段会报错,可以使用显示字段名方式解决

不能同时嵌入某一类型和其指针类型,因为名字相同

面向对象

Go仅支持封装

可使用unsafe包相关函数来操作对象的内存信息