概述
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合
语法
定义结构体【标识自定义结构体的名称,在同一个包内不能重复】
type 结构名 struct {
字段1: 字段1的值,
字段2: 字段2的值,
......
}
例子
//学生
type Student struct {
Name string //姓名
Age int //年龄
Sex bool //性别 true:男 false:女
}
结构体定义的三种形式
-
第一种【基本的实例化】
var stu Student
-
第二种【指针类型的结构体】
var stu *Student = new(Student)
-
第三种【取结构体的地址实例化,通过&的操作】
var stu *Student = &Student{ }
初始化结构体
-
键值对初始化结构体
键值之间以:分隔;键值对之间以,分隔
变量名 := 结构体类型名{ 字段1: 字段1的值, 字段2: 字段2的值, ...... }
例子
stu3 := Student{ Name: "李四", Age: 18}
-
值列表填充结构体【没有字段,按着序列,必须全部填充】
变量名 := 结构体类型名{ 字段1的值, 字段