range
用于遍历数组,切片,chan,字符串,字典类型变量。通常和for关键字一起使用。
数组,切片,字符串类型变量遍历过程方法是:
// 需要遍历访问的变量名是array
for index,value := range array{
// index 表示计数器,表示读取到数组中的第几个元素
// value 表示数组中的值
fmt.Println(index,value)
}
上边的index是遍历过程中的序号,在平常使用中,如果不需要这个序号,可以不写,也可以用下划线(_)替换,表示丢弃。写法如下:
// 需要遍历访问的变量名是array
for value := range array{
// value 表示数组中的值
fmt.Println(value)
}
// 或者写成下边形式
for _,value := range array{
// value 表示数组中的值
fmt.Println(value)
}
使用range遍历数组,切片,字符串类型变量时,当接收有两个变量时,第一个变量接收的是序号,第二个变量接收的是值。当接收方只有一个变量时,range返回的是值,没有序号。
在使用range遍历访问map类型变量时,与上边略有差异,因为map主要有key和value组成。所以在range遍历map类型变量时,返回的是key和value值,示例代码如下:
package main
import (
"fmt"
)
func m