结构体结构体定义初始化结构体变量实例化结构体01
目录匿名结构体04
01结构体定义•结构体定义•结构体语法格式1结构体定义结构体的定义•Go语言中没有“类”的概念,通过struct来实现面向对象•通常用于表达一个事物的全部或部分属性•是一种自定义数据类型,可以封装多个基本数据类型•本质是将零个或者多个任意类型的命名变量组合在一起的聚合数据类型•每个变量叫做结构体的成员,变量名必须唯一,可用“_”补位•支持使用自身指针类型成员type类型名struct{字段名字段类型字段名字段类型
}结构体语法格式•类型名:标识自定义结构体的名称,在同一个包内不能重复
•字段名:表示结构体字段名,结构体中的字段名必须唯一
•字段类型:表示结构体字段的具体类型
typeStudentstruct{stuIDintstuNamestringageint}//成员变量通常一行写一个,变量的名称在类型的前面结构体案列typeStudentstruct{stuID,ageintstuNamestring}//相同类型的连续成员变量可以写在一行上
结构体案列1结构体定义typeStudent1struct{stuId,ageintstuName,addressstringclass,teacherstring}typeStudent2struct{stuIdintaddress,stuNamestringageintclass,teacherstring}•成员变量的顺序对于结构体同一性很重要•相同类型的不连续成员变量不可以写在一行上1结构体定义02实例化结构体•结构体的使用•结构体实例化语法•new关键字2实例化结构体结构体的使用•结构体属于数据类型,因此和声明Go语言内置数据类型一样使用var关键字声明结构体类型•只有当结构体实例化时,才会真正地分配内存•即必须实例化后才能使