The output of the above instance is as follows: Go in the language range keyword is used for for iterate the array in the loop, slice , channel or collection ( map ). Itreturns the values corresponding to the index of the element in arrays and slices and in the collection key-value . 2.38.1. Example #
package main import "fmt" func main() { //This is how we use range to sum a slice. Using arrays is similar to this nums := []int{2, 3, 4} sum := 0 for \_, num := range nums { sum += num } fmt.Println("sum:", sum) //Using range on an array will pass in two variables: index and value. We did not need to use the ordinal of the element in the above example, so we omitted it with the blank character "_". Sometimes we do need to know its index. for i, num := range nums { if num == 3 { fmt.Println("index:", i) } } //range can also be used on key value pairs in maps. kvs := map[string]string{"a": "apple", "b": "banana"} for k, v := range kvs { fmt.Printf("%s -> %s\\n", k, v) } //Range can also be used to enumerate Unicode strings. The first parameter is the index of the character, and the second parameter is the character (Unicode value) itself. for i, c := range "go" { fmt.Println(i, c) } }
sum: 9 index: 1 a -> apple b -> banana 0 103 1 111