乐闻世界logo
搜索文章和话题

Go 中 range 关键字的作用是什么?

1 个月前提问
1 个月前修改
浏览次数16

1个答案

1

range 关键字在 Go 语言中非常有用,主要用于迭代或循环遍历数组、切片、字符串或映射(map)。使用 range 可以更简洁明了地进行元素的遍历处理。

使用示例

1. 遍历数组或切片

当使用 range 遍历数组或切片时,它会返回两个值,第一个是元素的索引,第二个是元素的副本。

go
nums := []int{10, 20, 30, 40} for index, value := range nums { fmt.Printf("索引:%d, 值:%d\n", index, value) }

2. 遍历字符串

遍历字符串时,range 会返回字符的索引和该字符的 Unicode 代码点,而不是字节位置。

go
s := "Hello, 世界" for index, runeValue := range s { fmt.Printf("%#U starts at byte position %d\n", runeValue, index) }

这里的 runeValue 是类型为 rune 的 Unicode 代码点。

3. 遍历映射(Map)

遍历映射时,range 会返回键值对。

go
m := map[string]int{"a": 1, "b": 2} for key, value := range m { fmt.Printf("键:%s, 值:%d\n", key, value) }

4. 只遍历键或值

如果只需要键或值,可以使用空白标识符 _ 忽略不需要的返回值。

go
// 只遍历键 for key := range m { fmt.Println("键:", key) } // 只遍历值 for _, value := range m { fmt.Println("值:", value) }

总结

range 提供了一种简洁有效的方式来遍历数据结构中的元素,使得代码不仅更加清晰,也易于维护。在 Go 中,它是处理集合数据类型的首选工具之一。

2024年8月7日 18:15 回复

你的答案