结构体的定义
结构体是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体。
下面我们来定义一个人类的结构体:1
2
3
4type Person struct {
name string // 姓名
age int // 年龄
}
使用
初始化1
2
3
4
5var p Person
var p Person{"wang", 20}
p := Person{"wang", 20}
访问成员采用 .
的方式,具体如下:1
fmt.Printf("name=%s, age=%d", p.name, p.age)
结构体比较
如果结构体的全部成员都是可以比较的,那么结构体也是可以比较的,那样的话两个结构体将可以使用==或!=运算符进行比较。相等比较运算符==将比较两个结构体的每个成员,因此下面两个比较的表达式是等价的
1 | p1 := Person{"wang", 20} |
结构体嵌入和匿名成员
下面我们再定义一个学生的结构体,结构体中嵌入 Person。1
2
3
4
5
6
7
8
9
10
11# 定义
type Student struct {
Person
school string // 学校
}
# 初始化
s := Student{Person: Person{"li", 30}, "beida"}
# 访问成员
fmt.Sprintf("name=%s, age=%d, school=%s\n", s.name, s.age, s.school)
代码汇总
1 | package main |
©版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 & 作者信息。
Happy Coding