Range 关键字在 for 循环中使用,以迭代数组,切片,通道或映射的项。
Range关键字在for循环中使用,以迭代数组(Array),切片(Slice),通道(Channel)或映射(Map)的项,对于数组和切片,它以整数形式返回元素的索引。对于Map,它返回下一个键值对(key/value)的键(key)。Range范围返回一个或两个值,如果在范围表达式的左侧仅使用一个值,则它是下表中的第一个值。
以下段落显示了如何使用范围-
package mainimport "fmt"
func main() { /* 创建切片 */ numbers := []int{0,1,2,3,4,5,6,7,8}
/* 打印数字 */ for i:= range numbers { fmt.Println("Slice item",i,"is",numbers[i]) }
/* 创建map */ countryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo"}
/* 使用键打印map */ for country := range countryCapitalMap { fmt.Println("Capital of",country,"is",countryCapitalMap[country]) }
/* 使用键值打印map */ for country,capital := range countryCapitalMap { fmt.Println("Capital of",country,"is",capital) } }
编译并执行上述代码后,将产生以下输出-
Slice item 0 is 0 Slice item 1 is 1 Slice item 2 is 2 Slice item 3 is 3 Slice item 4 is 4 Slice item 5 is 5 Slice item 6 is 6 Slice item 7 is 7 Slice item 8 is 8 Capital of France is Paris Capital of Italy is Rome Capital of Japan is Tokyo Capital of France is Paris Capital of Italy is Rome Capital of Japan is Tokyo