GO 结构体:定义和使用
1. 结构体的定义
在 Go 语言中,可以使用结构体来定义自己的复合数据类型。结构体是由一组具有相同或不同类型的字段组成的数据结构。
结构体的定义语法如下:
type 结构体名称 struct {
字段1 类型1
字段2 类型2
...
}
例如,我们可以定义一个表示学生的结构体:
type Student struct {
Name string
Age int
Gender string
}
上述代码中定义了一个名为 Student 的结构体,它有三个字段,分别是 Name、Age 和 Gender。
2. 结构体的使用
我们可以使用结构体字面量来创建一个结构体的实例:
student := Student{
Name: "Tom",
Age: 18,
Gender: "Male",
}
通过点操作符可以访问结构体的字段:
fmt.Println(student.Name) // 输出:Tom
Go range:遍历数组、切片和映射
1. 遍历数组和切片
可以使用 range 关键字来遍历数组和切片。range 关键字返回两个值,第一个值是当前元素的索引,第二个值是当前元素的值。
遍历数组和切片的基本语法如下:
for index, value := range arrayOrSlice {
// 使用 index 和 value
}
下面的例子展示了如何遍历一个整型切片:
numbers := []int{1, 2, 3, 4, 5}
for index, value := range numbers {
fmt.Println(index, value)
}
输出:
0 1
1 2
2 3
3 4
4 5
2. 遍历映射
在 Go 语言中,可以使用 range 关键字遍历映射。遍历映射时, range 关键字返回两个值,第一个值是当前键的键名,第二个值是当前键对应的值。
遍历映射的基本语法如下:
for key, value := range mapName {
// 使用 key 和 value
}
下面的例子展示了如何遍历一个字符到整型的映射:
scores := map[string]int{
"Tom": 90,
"Jerry": 80,
"Alice": 85,
}
for key, value := range scores {
fmt.Println(key, value)
}
输出:
Tom 90
Jerry 80
Alice 85
总结
本文介绍了 Go 语言中结构体的定义和使用,以及如何使用 range 关键字遍历数组、切片和映射。结构体允许我们定义自己的数据类型,可以包含多个字段;而 range 关键字可以方便地遍历复合数据类型,并返回索引和值。
结构体和 range 关键字是 Go 语言中常用的特性,在实际开发中会经常用到,特别是在处理数据结构和进行迭代操作时。