提示信息

Go 语言范围(Range)

亦秋 已关注

在 Go 语言中,range 关键字用于遍历各种数据结构,包括数组、切片、字符串、映射和通道。range 提供了一种简洁的方式来迭代这些集合,而不需要手动管理索引或计数器。以下是 range 关键字在不同数据结构中的用法:

  1. 数组和切片

    • 当对数组或切片使用 range 时,返回值是索引和元素的值。
    1. nums := []int{1, 2, 3, 4}
    2. for i, num := range nums {
    3. fmt.Printf("Index: %d, Value: %d\n", i, num)
    4. }
  2. 字符串

    • 字符串遍历时,range 返回的是每个字符的索引和 Unicode 码点(rune)。
    1. str := "hello"
    2. for i, char := range str {
    3. fmt.Printf("Index: %d, Character: %c\n", i, char)
    4. }
  3. 映射(Map)

    • 在遍历映射时,range 返回键和值。
    1. kv := map[string]string{"a": "apple", "b": "banana"}
    2. for key, value := range kv {
    3. fmt.Printf("%s -> %s\n", key, value)
    4. }
  4. 通道(Channel)

    • range 可以用于从通道接收值,直到通道关闭。
    1. ch := make(chan int, 2)
    2. ch <- 1
    3. ch <- 2
    4. close(ch)
    5. for n := range ch {
    6. fmt.Println(n)
    7. }

在使用 range 时,如果只需要值而不需要索引或键,可以使用下划线 _ 忽略不需要的部分。例如,如果只需要数组的值,可以写 for _, value := range nums。这在需要提高代码可读性或处理不需要的变量时非常有用。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
亦秋 关注 已关注

最近一次登录:2024-11-20 02:49:26   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图