golang中 for range
Go语言中的for range循环是一种简洁、高效的方式来实现遍历集合元素的操作。它适用于切片(Slice)、映射(Map)和通道(Channel)等数据结构。以下是for range循环的基本语法和实用示例。
1.基本语法
for range循环的基本语法如下:
```go
for index := range collection {
// 处理索引和元素的代码
}
```
其中,`collection`是要遍历的集合,`index`是集合元素的索引,`range`关键字表示遍历范围。
2.遍历切片
使用for range循环遍历切片示例:
```go
package main
import "fmt"
func main() {
numbers := []int{1, 2, 3, 4, 5}
for i, num := range numbers {
fmt.Printf("索引:%d,元素:%d
", i, num)
}
}
```
3.遍历映射(Map)
使用for range循环遍历映射示例:
```go
package main
import "fmt"
func main() {
students := map[string]int{
"Alice": 20,
"Bob": 22,
"Charlie": 21,
}
for name, age := range students {
fmt.Printf("姓名:%s,年龄:%d
", name, age)
}
}
```
4.遍历通道(Channel)
使用for range循环遍历通道示例:
```go
package main
import (
"fmt"
"time"
)
golang语法func main() {
ch := make(chan int)
go func() {
ch <- 1
ch <- 2
ch <- 3
}()
for num := range ch {
fmt.Printf("接收到的数字:%d
", num)
time.Sleep(1 * time.Second)
}
}
```
5.示例:遍历切片和映射
以下示例同时遍历了切片和映射:
```go
package main
import "fmt"
func main() {
students := map[string]int{
"Alice": 20,
"Bob": 22,
"Charlie": 21,
}
numbers := []int{1, 2, 3, 4, 5}
for name, age := range students {
fmt.Printf("姓名:%s,年龄:%d
", name, age)
}
for i, num := range numbers {
fmt.Printf("索引:%d,元素:%d
", i, num)
}
}
```
6.总结:for range循环的应用和优势
for range循环在Go语言中具有广泛的应用,它可以方便地遍历切片、映射和通道等数据结构。通过使用for range循环,我们可以简化代码,提高代码可读性和实用性。同时,for range循环在处理并发编程时也能发挥重要作用,如通道的发送和接收。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论