GoLang语言范围(Range)

目录

一、在数组、切片上使用‘range’

二、在映射上使用range

三、在通道上使用range


Go语言中的range关键字用于迭代数组(数组、切片、字符串)、映射(map)、通道(channel)或者在 for 循环中迭代每一个元素。range返回两个值,第一个是索引(或键),第二个是对应的值。在数组和切片上,range迭代返回索引和元素值;在映射上,返回键和对应的值;在通道上,返回通道中的数据。

一、在数组、切片上使用‘range’

package main

import "fmt"

func main() {
    // 在数组上使用range
    nums := [4]int{1, 2, 3, 4}
    for index, value := range nums {
        fmt.Printf("Index: %d, Value: %d\n", index, value)
    }

    // 在切片上使用range
    fruits := []string{"Apple", "Banana", "Orange"}
    for index, value := range fruits {
        fmt.Printf("Index: %d, Value: %s\n", index, value)
    }
}

二、在映射上使用range

package main

import "fmt"

func main() {
    // 在映射上使用range
    person := map[string]int{"Alice": 25, "Bob": 30, "Charlie": 35}
    for key, value := range person {
        fmt.Printf("Key: %s, Value: %d\n", key, value)
    }
}

三、在通道上使用range

package main

import "fmt"

func main() {
    // 在通道上使用range
    messages := make(chan string, 2)
    messages <- "Hello"
    messages <- "World"
    close(messages)

    for message := range messages {
        fmt.Println(message)
    }
}

“range”可以帮助简化迭代过程,使代码更加清晰和简洁。在使用range时,如果你只需要其中一个返回值(索引或值),可以使用下划线_来忽略不需要的返回值。例如:

package main

import "fmt"

func main() {
    nums := [4]int{1, 2, 3, 4}
    for _, value := range nums {
        fmt.Println(value)
    }
}

你可能感兴趣的:(数据结构,go,golang)