遍历切片
切片是一个集合,可以迭代其中的元素。Golang
有个特殊的关键字 range
,它可以配合关键字 for
来迭代切片里的元素
num1 := []int{1, 2, 3}
for index, value := range num1 {
fmt.Printf("index: %d value: %d\n", index, value)
}
输出的结果为
index: 0 value: 1
index: 1 value: 2
index: 2 value: 3
当迭代切片时,关键字 range 会返回两个值。第一个值是当前迭代到的索引位置,第二个值是该位置对应元素值的一份副本。
:::warning 需要强调的是,range 创建了每个元素的副本,而不是直接返回对该元素的引用。要想获取每个元素的地址,可以使用切片变量和索引值:
:::
num1 := []int{1, 2, 3}
for index, _ := range num1 {
num1[index] += 1
}
for index, value := range num1 {
fmt.Printf("index: %d value: %d\n", index, value)
}