遍历切片与 map
概念说明
for range 是 Go 中遍历集合最常见的方式。
在切片上,它返回“索引 + 元素值”;在 map 上,它返回“键 + 值”。
语法/规则
- 遍历切片时,
range返回两个值:索引(index)和元素值(value)。 - 遍历 map 时,
range返回两个值:键(key)和值(value)。 - 如果不需要其中一个返回值,可以用
_忽略。 - map 的遍历顺序不固定,不能依赖输出顺序编写业务逻辑。
遍历切片示例
| |
输出结果:
| |
遍历 map 示例
| |
输出结果(顺序不固定,以下为一种可能):
| |
常见错误
- 误以为 map 每次遍历顺序都一样,导致结果依赖顺序而出错。
- 不需要索引或键时仍声明变量,后续未使用会触发编译错误。
- 将切片遍历中的“索引、值”与 map 遍历中的“键、值”混淆。