Detailed explanation of range usage in Go language: Master the basic syntax and apply it easily

WBOY
Release: 2024-03-12 21:39:04
Original
597 people have browsed it

Detailed explanation of range usage in Go language: Master the basic syntax and apply it easily

Go language is a modern programming language that is favored by more and more developers due to its simplicity, efficiency and ease of learning. In the Go language, range is a very commonly used keyword, used to iterate arrays, slices, maps, channels and other data structures. This article will start with basic syntax, analyze the various uses of range in detail, and help readers better understand and apply this keyword through specific code examples.

1. Basic usage of range

In Go language, range is used to iterate arrays, slices, maps, channels and other data structures. Its basic syntax is:

for index, value := range data_structure {
    // 循环体
}
Copy after login

Among them, index represents the subscript (index) of the current element, value represents the value of the current element, data_structure represents the data structure to be iterated.

1.1 Iterating arrays or slices

numbers := []int{1, 2, 3, 4, 5}

for index, value := range numbers {
    fmt.Printf("索引为 %d 的元素是 %d
", index, value)
}
Copy after login

1.2 Iterating mapping

ages := map[string]int{"Alice": 23, "Bob": 25, "Cathy": 22}

for name, age := range ages {
    fmt.Printf("%s 的年龄是 %d 岁
", name, age)
}
Copy after login

1.3 Iterating channels

ch := make(chan int)

go func() {
    ch <- 1
    ch <- 2
    close(ch)
}()

for value := range ch {
    fmt.Printf("通道的值为 %d
", value)
}
Copy after login

2. Range expansion usage

Except In addition to the basic usage, range also has some extended usage to facilitate more flexible operations on data structures.

2.1 Only values ​​are required

numbers := []int{1, 2, 3, 4, 5}

for _, value := range numbers {
    fmt.Printf("元素值为 %d
", value)
}
Copy after login

2.2 Only indexes are required

numbers := []int{1, 2, 3, 4, 5}

for index, _ := range numbers {
    fmt.Printf("元素索引为 %d
", index)
}
Copy after login

2.3 range is used for strings

message := "Hello, 世界"

for index, char := range message {
    fmt.Printf("字符 %c 的索引为 %d
", char, index)
}
Copy after login

2.4 range is used for multi-dimensional arrays

matrix := [][]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}

for i, row := range matrix {
    for j, cell := range row {
        fmt.Printf("第 %d 行,第 %d 列的值为 %d
", i, j, cell)
    }
}
Copy after login

3. Summary

This article introduces in detail the basic usage and extended usage of the range keyword in the Go language, and demonstrates how to flexibly apply it through specific code examplesrangePerform iterative operations on the data structure. Readers can become more proficient in the use of range through practical exercises and improve programming efficiency. I hope this article can help readers better understand and use the range keyword, and further learn and apply the Go language.

The above is the detailed content of Detailed explanation of range usage in Go language: Master the basic syntax and apply it easily. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!