range(关键字)
它是做什么的
range 用于“遍历集合类型”的元素,常配合 for 使用。
你会在数组、切片、字符串、map、channel 上看到它。
基本写法
| |
如果你只关心其中一个值,可以这样写:
| |
在不同类型上的返回值
- 数组/切片:返回
索引(index)和元素值(value)。 - 字符串:返回
字节下标(index)和字符的 rune 值(value)。 - map:返回
键(key)和值(value)。 - channel:每次返回一个接收到的值(只写一个变量更常见)。
结合数组的示例
| |
初学者容易踩坑
- 不想用索引时直接省略变量名会语法错误,应使用
_占位。 - 遍历 map 时顺序是不固定的,不能依赖顺序写业务逻辑。
- 看到字符串的
range返回值时,误以为value是string;实际上它是rune。