range 语句
Golang 中的 range 语句
rang遍历
range 关键字用来遍历 list、array 或者 map。为了方便理解,可以认为 range 等效于 for earch index of。
对于 arrays 或者 slices, 将会返回整型的下标;
// 对于数组,rang返回index
a := [...]string{"a", "b", "c", "d"}
for i := range a {
fmt.Println("Array item", i, "is", a[i])
}
支持返回单值或者两个值, 如果返回一个值,那么为下标,否则为下标和下标所对应的值。
a := [...]string{"a", "b", "c", "d"}
for i, v := range a {
fmt.Println("Array item", i, "is", v)
}
对于 map,将会返回下一个键值对的 key。
// 对于map, range 返回 key
capitals := map[string] string {"France":"Paris", "Italy":"Rome", "Japan":"Tokyo" }
for key := range capitals {
fmt.Println("Map item: Capital of", key, "is", capitals[key])
}
同样支持返回两个值, 直接拿到key和对应的value:
capitals := map[string] string {"France":"Paris", "Italy":"Rome", "Japan":"Tokyo" }
for key, value := range capitals {
fmt.Println("Map item: Capital of", key, "is", value)
}