- Go 教程
- Go - 主页
- Go - 概述
- Go - 环境设置
- Go - 程序结构
- Go - 基本语法
- Go - 数据类型
- Go - 变量
- Go - 常量
- Go - 运算符
- Go - 决策
- Go - 循环
- Go - 函数
- Go - 作用域规则
- Go - 字符串
- Go - 数组
- Go - 指针
- Go - 结构
- Go - 切片
- Go - 范围
- Go - 映射
- Go - 递归
- Go - 类型转换
- Go - 接口
- Go - 错误处理
- Go 实用资源
- Go - 问题与解答
- Go - 快速指南
- Go - 实用资源
- Go - 讨论
Go - 范围
range 关键字用于 for 循环,用于迭代数组、切片、通道或映射中的项。对于数组和切片,它返回该项的索引,类型为整数。对于映射,它返回下一对键值对的键。Range 既返回一个值,也返回两个值。如果仅在一个 range 表达式的左侧使用一个值,它就是下表中的第 1 个值。
Range 表达式 | 第 1 个值 | 第 2 个值(可选) |
---|---|---|
数组或切片 a [n]E | 索引 i int | a[i] E |
字符串 s string 类型 | 索引 i int | 符文 int |
映射 m map[K]V | 键 k K | 值 m[k] V |
通道 c chan E | 元素 e E | 无 |
示例
以下段落展示了如何使用 range −
package main import "fmt" func main() { /* create a slice */ numbers := []int{0,1,2,3,4,5,6,7,8} /* print the numbers */ for i:= range numbers { fmt.Println("Slice item",i,"is",numbers[i]) } /* create a map*/ countryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo"} /* print map using keys*/ for country := range countryCapitalMap { fmt.Println("Capital of",country,"is",countryCapitalMap[country]) } /* print map using key-value*/ 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
广告