返回
for...range语句在数组、map、string 和 channel 中的应用
后端
2023-09-01 13:01:47
for...range语句基础
for...range语句的基本语法如下:
for variable_name range expression {
// 循环体
}
其中,variable_name是循环变量,range expression是范围表达式,指定了循环的范围,循环体是循环的执行代码块。
1. for...range语句在数组中的使用
for...range语句可以很方便地用于遍历数组中的元素。语法如下:
for index, value range array_name {
// 循环体
}
其中,index是数组元素的索引,value是数组元素的值,array_name是数组的名称。
例如,以下代码遍历了一个名为numbers的数组,并输出每个元素的值:
package main
import "fmt"
func main() {
numbers := []int{1, 2, 3, 4, 5}
for index, value range numbers {
fmt.Println("Index:", index, "Value:", value)
}
}
输出结果为:
Index: 0 Value: 1
Index: 1 Value: 2
Index: 2 Value: 3
Index: 3 Value: 4
Index: 4 Value: 5
2. for...range语句在map中的使用
for...range语句也可以用于遍历map中的键值对。语法如下:
for key, value range map_name {
// 循环体
}
其中,key是map的键,value是map的值,map_name是map的名称。
例如,以下代码遍历了一个名为personInfo的map,并输出每个键值对:
package main
import "fmt"
func main() {
personInfo := map[string]string{
"name": "John Doe",
"age": "30",
"city": "New York",
}
for key, value range personInfo {
fmt.Println("Key:", key, "Value:", value)
}
}
输出结果为:
Key: name Value: John Doe
Key: age Value: 30
Key: city Value: New York
3. for...range语句在string中的使用
for...range语句可以用于遍历string中的字符。语法如下:
for index, char range string_name {
// 循环体
}
其中,index是字符的索引,char是字符的值,string_name是string的名称。
例如,以下代码遍历了一个名为str的string,并输出每个字符:
package main
import "fmt"
func main() {
str := "Hello World"
for index, char range str {
fmt.Println("Index:", index, "Char:", string(char))
}
}
输出结果为:
Index: 0 Char: H
Index: 1 Char: e
Index: 2 Char: l
Index: 3 Char: l
Index: 4 Char: o
Index: 5 Char:空格
Index: 6 Char: W
Index: 7 Char: o
Index: 8 Char: r
Index: 9 Char: l
Index: 10 Char: d
4. for...range语句在channel中的使用
for...range语句可以用于遍历channel中的值。语法如下:
for value range channel_name {
// 循环体
}
其中,value是channel中的值,channel_name是channel的名称。
例如,以下代码创建一个channel,并使用for...range语句遍历其中的值:
package main
import "fmt"
func main() {
ch := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch <- i
}
close(ch)
}()
for value range ch {
fmt.Println(value)
}
}
输出结果为:
0
1
2
3
4
结论
for...range语句是Go语言中一种非常强大的循环结构,它可以方便地遍历各种数据结构。在本文中,我们介绍了for...range语句在数组、map、string和channel中的使用,并提供了相应的示例代码。希望这些知识对您有所帮助。