golang 模板 range

发布时间:2024-07-05 00:18:30

在golang中,range是一个非常重要的关键字,用于迭代数组、切片、字符串、map和通道等数据结构。通过range,我们可以方便地遍历集合中的元素,并快速处理这些数据。

1. 遍历数组和切片

使用range遍历数组和切片时,它会返回每个元素的索引和值。我们可以通过下标来访问每个元素,并对其进行处理。例如:

numbers := []int{1, 2, 3, 4, 5}
for index, value := range numbers {
    fmt.Println("index:", index, "value:", value)
}

通过上述代码,我们可以遍历numbers切片中的每个元素,并打印出它们的索引和值。

2. 遍历字符串

在golang中,字符串是一个由Unicode字符组成的不可变序列。当我们使用range遍历字符串时,它会按照Unicode字符来切分字符串,并返回每个字符的索引和值。例如:

str := "Hello, 世界"
for index, value := range str {
    fmt.Println("index:", index, "value:", string(value))
}

通过上述代码,我们可以遍历str字符串中的每个字符,并以字符串形式打印出它们的索引和值。

3. 遍历map

map是golang中的一种数据结构,用于存储键值对。通过range,我们可以遍历map的键值对,并对其进行操作。例如:

students := map[string]int{
    "Alice":  18,
    "Bob":    20,
    "Charlie": 22,
}
for key, value := range students {
    fmt.Println("key:", key, "value:", value)
}

通过上述代码,我们可以遍历students的键值对,并打印出每个键值对的键和值。

通过使用range关键字,我们可以方便地遍历数组、切片、字符串和map等数据结构,并对它们进行处理。无论是迭代索引和值,还是只迭代值或者只迭代索引,都可以通过range来实现。这使得我们能够更加灵活地处理不同类型的数据,提高了代码的可读性和开发效率。

相关推荐