range 关键字
用于for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素。
- 返回数组、切片的索引
go
//声明一个切片
nums := []int{1,2,3,4}
sun := 0
//_表示空白符,省略了key
for _,num := range nums{
sun += num
}
fmt.Println("sun = ",sun)
//在数组上使用range将传入index和值两个变量,
for i,num := range nums{
if num == 3 {
fmt.Println("index = ",i)
}
}
- 返回集合(map)的key
go
kvs := map[string]string{"a":"apple","b":"banana"}
for k,v := range kvs{
fmt.Printf("%s -> %s\n",k,v)
}
- 返回字符串的索引和对应的Unicode的值
go
for i,c := range "php"{
fmt.Println(i,c)
}