Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素。在数组和切片中它返回元素的索引值,在集合中返回 key-value 对的 key 值。
实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main
|
import "fmt"
|
func main() {
|
|
nums := []int{2, 3, 4}
|
sum := 0
|
for _, num := range nums {
|
sum += num
|
}
|
fmt.Println("sum:", sum)
|
|
for i, num := range nums {
|
if num == 3 {
|
fmt.Println("index:", i)
|
}
|
}
|
|
kvs := map[string]string{"a": "apple", "b": "banana"}
|
for k, v := range kvs {
|
fmt.Printf("%s -> %s\n", k, v)
|
}
|
|
for i, c := range "go" {
|
fmt.Println(i, c)
|
}
|
} |
以上实例运行输出结果为:
sum: 9
|
index: 1
|
a -> apple
|
b -> banana
|
0 103
|
1 111 |