range
关键字在 Go 语言中非常有用,主要用于迭代或循环遍历数组、切片、字符串或映射(map)。使用 range
可以更简洁明了地进行元素的遍历处理。
使用示例
1. 遍历数组或切片
当使用 range
遍历数组或切片时,它会返回两个值,第一个是元素的索引,第二个是元素的副本。
gonums := []int{10, 20, 30, 40} for index, value := range nums { fmt.Printf("索引:%d, 值:%d\n", index, value) }
2. 遍历字符串
遍历字符串时,range
会返回字符的索引和该字符的 Unicode 代码点,而不是字节位置。
gos := "Hello, 世界" for index, runeValue := range s { fmt.Printf("%#U starts at byte position %d\n", runeValue, index) }
这里的 runeValue
是类型为 rune
的 Unicode 代码点。
3. 遍历映射(Map)
遍历映射时,range
会返回键值对。
gom := 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 回复