在 Go语言 中,for-range 是一种非常常用且高效的遍历方式,适用于数组、切片和映射(map)等数据结构。对于刚入门 Go 的开发者来说,掌握 for-range 的用法是编写简洁、可读性强代码的关键一步。

for-range 是 Go 语言中专为遍历集合类型设计的语法糖。它能自动处理索引和值的获取,避免手动维护循环变量,使代码更安全、更清晰。
基本语法如下:
for index, value := range collection { // 使用 index 和 value}其中,index 是当前元素的索引(对 map 来说是 key),value 是当前元素的值。如果你不需要索引或值,可以用下划线 _ 忽略。
数组是固定长度的同类型元素集合。使用 for-range 可以轻松遍历每个元素:
package mainimport "fmt"func main() { arr := [3]string{"苹果", "香蕉", "橙子"} for i, fruit := range arr { fmt.Printf("索引 %d: %s\n", i, fruit) }}输出结果:
索引 0: 苹果索引 1: 香蕉索引 2: 橙子如果你只关心值,可以忽略索引:
for _, fruit := range arr { fmt.Println(fruit)}切片是动态长度的数组视图,for-range 对它的遍历方式与数组几乎相同:
slice := []int{10, 20, 30, 40}for i, v := range slice { fmt.Printf("位置 %d 的值是 %d\n", i, v)}注意:在 for-range 中,v 是元素的副本,修改 v 不会影响原切片。如果需要修改原切片,请通过索引操作:
// 错误:不会修改原切片for _, v := range slice { v *= 2 // 无效!}// 正确:通过索引修改for i := range slice { slice[i] *= 2}映射(map)是键值对集合。for-range 遍历时,index 实际上是 key,value 是对应的值:
scores := map[string]int{ "张三": 95, "李四": 88, "王五": 92,}for name, score := range scores { fmt.Printf("%s 的成绩是 %d 分\n", name, score)}注意:Go 中 map 的遍历顺序是随机的,这是为了防止开发者依赖特定顺序。
同样,你可以只遍历 key 或只遍历 value:
// 只遍历 keyfor name := range scores { fmt.Println(name)}// 只遍历 value(忽略 key)for _, score := range scores { fmt.Println(score)}for-range 是 Go 语言中处理集合遍历的强大工具。无论是 Go数组遍历、Go切片遍历 还是 Go映射遍历,它都能提供简洁、安全的语法支持。掌握这些技巧,将帮助你写出更地道的 Go 代码。
记住关键词:Go语言 for-range遍历、Go数组遍历、Go切片遍历、Go映射遍历——它们是你深入 Go 编程的重要基础。
本文由主机测评网于2025-12-12发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025126743.html