5.5 遍历切片,map

本篇学习 Go 中使用 for range 遍历切片与 map,并能正确理解索引、键值和遍历顺序特性。

字数 414 字

遍历切片与 map

概念说明

for range 是 Go 中遍历集合最常见的方式。
在切片上,它返回“索引 + 元素值”;在 map 上,它返回“键 + 值”。

语法/规则

  1. 遍历切片时,range 返回两个值:索引(index)和元素值(value)。
  2. 遍历 map 时,range 返回两个值:键(key)和值(value)。
  3. 如果不需要其中一个返回值,可以用 _ 忽略。
  4. map 的遍历顺序不固定,不能依赖输出顺序编写业务逻辑。

遍历切片示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
package main

import "fmt"

func main() {
	names := []string{"阿斌", "知道"}
	for index, name := range names {
		fmt.Println(index, name)
	}
}

输出结果:

1
2
0 阿斌
1 知道

遍历 map 示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
package main

import "fmt"

func main() {
	info := map[string]int{
		"age":   24,
		"price": 1000,
	}
	for key, value := range info {
		fmt.Println(key, value)
	}
}

输出结果(顺序不固定,以下为一种可能):

1
2
age 24
price 1000

常见错误

  1. 误以为 map 每次遍历顺序都一样,导致结果依赖顺序而出错。
  2. 不需要索引或键时仍声明变量,后续未使用会触发编译错误。
  3. 将切片遍历中的“索引、值”与 map 遍历中的“键、值”混淆。
使用 Hugo 构建
主题 StackJimmy 设计 由 Hobin 魔改
载入天数...载入时分秒...
发表了 0 篇文章 · 发表了 31 篇笔记 · 总计 1 万 6 千字(其中笔记 16551 字)