Go is a strongly typed, statically typed, concurrency-supported programming language. Its core concepts are simplicity, efficiency and maintainability.
In Go, the for-range loop is a convenient and commonly used iteration method. It can be used to traverse data structures such as arrays, slices, and maps. This article will introduce in detail how to use for-range loops to traverse various data structures, and explore its advantages and disadvantages.
The following is a sample program that shows how to iterate over an array using the for-range statement.
package main import "fmt" func main() { nums := [5]int{1, 2, 3, 4, 5} for i, num := range nums { fmt.Printf("Index: %v, Value: %v ", i, num) } }
Output:
Index: 0, Value: 1 Index: 1, Value: 2 Index: 2, Value: 3 Index: 3, Value: 4 Index: 4, Value: 5
In this example, we first define an array nums containing 5 integers. We then use a for-range loop to iterate through the array, storing the index and value of the elements in the variables i and num. Finally, we print out the index and value of each element.
The following is a sample program that shows how to iterate over a slice using a for-range statement.
package main import "fmt" func main() { fruits := []string{"apple", "banana", "orange"} for i, fruit := range fruits { fmt.Printf("Index: %v, Value: %v ", i, fruit) } }
Output:
Index: 0, Value: apple Index: 1, Value: banana Index: 2, Value: orange
In this example, we first create a slice of 3 strings using the slice literal. We then use a for-range loop to iterate over the slice, storing the index and value of the elements in the variables i and fruit. Finally, we print the index and value of each element.
The following is a sample program that shows how to use a for-range statement to traverse a map.
package main import "fmt" func main() { scores := map[string]int{ "Alice": 90, "Bob": 80, "Charlie": 70, } for name, score := range scores { fmt.Printf("%v's Score: %v ", name, score) } }
Output:
Alice's Score: 90 Bob's Score: 80 Charlie's Score: 70
In this example, we first use the map literal to create a map containing three key-value pairs. We then use a for-range loop to iterate over the key-value pairs in the map, storing the keys in the variable name and the values in the variable score. Finally, we print everyone's score.
The following is a sample program that shows how to use the for-range statement to iterate over the characters in a string.
package main import "fmt" func main() { str := "Hello, 世界" for i, ch := range str { fmt.Printf("Index: %v, Character: %c ", i, ch) } }
Output:
Index: 0, Character: H Index: 1, Character: e Index: 2, Character: l Index: 3, Character: l Index: 4, Character: o Index: 5, Character: , Index: 6, Character: Index: 7, Character: 世 Index: 10, Character: 界
In this example, we define a string str containing English and Chinese characters. We then use a for-range loop to iterate over the characters in the string, storing the index of the character in the variable i and the value of the character in the variable ch.
Advantages:
Disadvantages:
To sum up, the for-range loop is an effective iteration method that can be used to traverse various data structures. It is simple and easy to understand, but in some cases it is necessary to use other types of loops.
The above is the detailed content of golang for range implementation. For more information, please follow other related articles on the PHP Chinese website!