go语音中range 循环

简介: go语音中range 循环

在 Go 语言中,range 是一个用于遍历数组、切片、字符串、映射(map)或通道(channel)的关键词。使用 range 可以简化循环中的迭代操作,使代码更加简洁易读。

遍历数组或切片

当使用 range 遍历数组或切片时,range 会返回每个元素的索引和值。如果你只对值感兴趣,可以使用下划线 _ 忽略索引。

package main

import "fmt"

func main() {
   
    numbers := []int{
   1, 2, 3, 4, 5}

    // 使用索引和值
    for index, value := range numbers {
   
        fmt.Printf("Index: %d Value: %d\n", index, value)
    }

    // 只使用值
    for _, value := range numbers {
   
        fmt.Println(value)
    }
}

遍历字符串

遍历字符串时,range 返回的是每个字符的字节索引及其对应的 Unicode 码点(rune)。

package main

import "fmt"

func main() {
   
    str := "Hello, 世界"

    for index, runeValue := range str {
   
        fmt.Printf("Index: %d Rune: %c\n", index, runeValue)
    }
}

遍历映射(map)

遍历映射时,range 返回键值对。你可以选择忽略不需要的部分。

package main

import "fmt"

func main() {
   
    ages := map[string]int{
   "Alice": 30, "Bob": 25, "Charlie": 35}

    // 使用键和值
    for key, value := range ages {
   
        fmt.Printf("Key: %s Value: %d\n", key, value)
    }

    // 只使用键
    for key := range ages {
   
        fmt.Println(key)
    }
}

遍历通道(channel)

遍历通道时,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)
    }
}

以上是 Go 语言中使用 range 进行循环的基本示例。根据不同的数据类型,range 提供了灵活且强大的遍历机制。

目录
相关文章
|
3月前
|
Go 索引
go语言中的循环语句
【11月更文挑战第4天】
51 2
|
2月前
|
Go 索引
go语言使用range关键字
go语言使用range关键字
43 7
|
3月前
|
Go
go语言中控制循环
go语言中控制循环
42 14
|
3月前
|
安全 Go 索引
go语言使用 range 关键字
go语言使用 range 关键字
40 3
|
3月前
|
测试技术 Go 索引
go语言使用 range 关键字遍历
go语言使用 range 关键字遍历
43 3
|
3月前
|
Go
go语言中无限循环
go语言中无限循环
49 9
Go语言的条件控制语句及循环语句的学习笔记
本文是Go语言的条件控制语句和循环语句的学习笔记,涵盖了if语句、if-else语句、if嵌套语句、switch语句、select语句以及for循环和相关循环控制语句的使用方法。
Go语言的条件控制语句及循环语句的学习笔记
|
6月前
|
存储 编译器 Go
|
6月前
|
Go
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
|
8月前
|
Go
go循环语句
go循环语句

热门文章

最新文章