一 数组的基本使用
1 访问数组元素
数组名[下标]
例如:a 数组的第三个元素 a[2]。
2 快速入门案例
a 需求
从终端循环输入 5 个成绩,保存到 float64 数组,并输出。
b 代码
package main
import "fmt"
func main() {
// 从终端循环输入5个成绩,保存到float64数组,并输出。
var score [5]float64
for i := 0; i < len(score); i++ {
fmt.Printf("请输入第%d个元素的值\n", i+1)
fmt.Scanln(&score[i])
}
// 变量数组打印
for i := 0; i < len(score); i++ {
fmt.Printf("score[%d]=%v\n", i, score[i])
}
}
c 测试
请输入第1个元素的值
100
请输入第2个元素的值
23
请输入第3个元素的值
45
请输入第4个元素的值
65
请输入第5个元素的值
65
score[0]=100
score[1]=23
score[2]=45
score[3]=65
score[4]=65
3 四种初始化数组的方式
a 代码
package main
import "fmt"
func main() {
// 四种初始化数组的方式
// 方式一
var numArr01 [3]int = [3]int{1, 2, 3}
fmt.Println("numArr01=", numArr01)
// 方式二
var numArr02 = [3]int{5, 6, 7}
fmt.Println("numArr02=", numArr02)
// 方式三 这里的 [...] 是规定的写法
var numArr03 = [...]int{8, 9, 10}
fmt.Println("numArr03=", numArr03)
// 方式四
var numArr04 = [...]int{1: 800, 0: 900, 2: 999}
fmt.Println("numArr04=", numArr04)
// 类型推导
strArr05 := [...]string{1: "tom", 0: "jack", 2: "mary"}
fmt.Println("strArr05=", strArr05)
}
b 测试
numArr01= [1 2 3]
numArr02= [5 6 7]
numArr03= [8 9 10]
numArr04= [900 800 999]
strArr05= [jack tom mary]
二 数组的遍历
方式 1:常规遍历
方式 2:for-range 结构遍历
它是 Go 语言一种独有的结构,可以用来遍历访问数组的元素。
1 for--range 的基本语法
for index,value := range array{
}
2 说明
- 第一个返回值 index 是数值的下标。
- 第二个value是在该下标位置的值。
- 他们都是仅在 for 循环内部可见的局部变量。
- 遍历数组元素的时候,如果不想使用下标 index,可以直接把下标 index 标为下划线_
- index 和 value 的名字不是固定的,即程序员可以自行指定,一般命名为 index 和 value。
3 for-range 实战
a 代码
package main
import (
"fmt"
)
func main() {
// 演示 for-range 遍历数组
heroes := [...]string{"宋江", "吴用", "卢俊义", "武松"}
for i, v := range heroes {
fmt.Printf("i=%v v=%v\n", i, v)
fmt.Printf("heroes[%d]=%v\n", i, heroes[i])
}
for _, v := range heroes {
fmt.Printf("元素的值=%v\n", v)
}
}
b 测试
i=0 v=宋江
heroes[0]=宋江
i=1 v=吴用
heroes[1]=吴用
i=2 v=卢俊义
heroes[2]=卢俊义
i=3 v=武松
heroes[3]=武松
元素的值=宋江
元素的值=吴用
元素的值=卢俊义
元素的值=武松