Go语言学习之旅21——结构体

结构体的写法与初始化

1
2
3
4
5
6
7
8
9
10
11
12
type Student struct {
name string
id int
age int // 代表字符类型
sex byte
}

func main() {
// 初始化结构体1,顺序初始化
var stu1 Student = Student{"tom", 101, 13, 'm'}
fmt.Println(stu1) // {tom 101 13 109}
}

注意:结构体的成员不需要使用var关键字来声明;字符类型的sex将会打印对应ASCII码,如果你需要声明为汉子,则需要使用rune类型,代表一个 UTF-8 字符

1
2
3
4
5
func main() {
// 初始化结构体2,指定初始化
stu2 := Student{name: "tom", age: 13}
fmt.Println(stu2) // {tom 0 13 0}
}

结构体指针类型的初始化

1
2
3
4
5
6
func main() {
// 初始化好对象类型后取地址,由指针类型接收
var stu1 *Student = &Student{name: "tom"}
// 取内存空间
fmt.Println(*stu1) // {tom 0 0 0}
}