流程控制

range

预计阅读时间1 分 6 views

前言

在 Go 语言中,我们使用 range 关键字与 for 循环结合,来遍历数组、字符串或映射(map)的元素。在学习 range 之前,确保你对 Go 的 for 循环有一定了解。

作用

range 关键字允许我们在 for 循环中遍历集合类型的数据结构(如数组、字符串和映射),并访问集合中的每个元素及其索引或键值对。

使用场景

  1. 遍历数组: 在处理数组时,range 可以帮助我们获取每个元素的值以及其索引。
  2. 处理字符串: 用于遍历字符串中的每个字符及其索引。
  3. 操作映射(map): 通过 range 遍历映射中的每对键值对,方便进行各种操作。

示例

  1. 示例 1: 使用 range 遍历数组
   package main
   import "fmt"

   func main() {
     // 数字数组
     numbers := [5]int{21, 24, 27, 30, 33}

     // 使用 range 遍历数组元素
     for index, item := range numbers {
       fmt.Printf("numbers[%d] = %d \n", index, item)
     }
   }

输出:

   numbers[0] = 21
   numbers[1] = 24
   numbers[2] = 27
   numbers[3] = 30
   numbers[4] = 33

解释:

  • range 关键字返回两个值:
    • 数组索引:0, 1, 2,依此类推。
    • 对应索引位置的数组元素:21, 24, 27,依此类推。
  • 该示例中,我们遍历了数组 numbers,并打印了每个元素及其索引。
  1. 示例 2: 使用 range 遍历字符串
   package main
   import "fmt"

   func main() {
     str := "Golang"
     fmt.Println("Index: Character")

     // i 访问每个字符的索引
     // item 访问每个字符
     for i, item := range str {
       fmt.Printf("%d= %c \n", i, item)
     }
   }

输出:

   Index: Character
   0: G
   1: o
   2: l
   3: a
   4: n
   5: g

解释:

  • range 关键字用于获取字符串中的每个字符及其索引。
  • 该示例中,我们遍历了字符串 “Golang”,并打印了每个字符及其对应的索引。
  1. 示例 3: 使用 range 遍历映射(map)
   package main
   import "fmt"

   func main() {
     // 创建一个映射
     subjectMarks := map[string]float32{"Java": 80, "Python": 81, "Golang": 85}
     fmt.Println("Marks obtained:")

     // 使用 for range 遍历键值对
     for subject, marks := range subjectMarks {
       fmt.Println(subject, ":", marks)
     }
   }

输出:

   Marks obtained:
   Java: 80
   Python: 81
   Golang: 85

解释:

  • range 用于遍历映射中的每对键值对。
  • 该示例中,我们遍历了映射 subjectMarks,并打印了每个科目及其对应的分数。
  1. 示例 4: 使用 range 仅访问映射的键
   package main
   import "fmt"

   func main() {
     // 创建一个映射
     subjectMarks := map[string]float32{"Java": 80, "Python": 81, "Golang": 85}

     fmt.Println("Subjects:")
     // 使用 range 遍历映射的键
     for subject := range subjectMarks {
       fmt.Println(subject)
     }
   }

输出:

   Subjects:
   Java
   Python
   Golang

解释:

  • range 仅用于访问映射的键,而不获取值。
  • 该示例中,我们打印了映射 subjectMarks 中的所有科目名称。

结语

range 关键字在 Go 语言中提供了一种简洁的方式来遍历数组、字符串和映射中的元素。通过学习如何使用 range,你可以高效地访问和操作各种数据结构,从而使代码更加简洁和易于理解。

Leave a Comment

分享此文档

range

或复制链接

内容