How to use for and foreach loop in Golang? - GeeksforGeeks

23 Nov, 2021
There is only one looping construct in Golang, and that is the for loop. The for loop in Golang has three components, which must be separated by semicolons (;), those are: 
The initialization statement: which is executed before the first iteration. e.g. i := 0
The condition expression: which is executed just before every iteration. e.g. i < 5
The Post statement: which is executed at the end of every iteration. e.g. i++
There is no need for any parentheses for enclosing those three components, but to define a block we must use braces { }.
for i := 0 ; i < 5 ; i++{
         // statements to execute......
}
The initialization and post statements are optional.
i:=0
for ; i < 5;{
i++
}
You can use for loop as while loop in Golang. Just drop all the semicolons. 
i := 0
for i < 5 {
i++
}
Infinite Loop: If there is no condition statement, the loop becomes an infinite loop. 
for {
}
Example: 
Go
package main import "fmt" // function to print numbers 0// to 9 and print the sum of 0 to 9func main() {     // variable to store the sum    sum := 0     // this is a for loop which runs from 0 to 9    for i := 0; i < 10; i++ {         // printing the value of        // i : the iterating variable        fmt.Printf("%d ", i)         // calculating the sum        sum += i    }    fmt.Printf("\nsum = %d", sum)}
Output: 
0 1 2 3 4 5 6 7 8 9 
sum = 45
In Golang there is no foreach loop instead, the for loop can be used as “foreach“. There is a keyword range, you can combine for and range together and have the choice of using the key or value within the loop.
Syntax:  
for <key>, <value> := range <container>{

}
Here, 
key and value: It can be any variable you want to choose.
container: It can be any variable which is an array, list, map, etc.
Example 1:
Go
package main import "fmt" // Driver function to show the// use of for and range togetherfunc main() {     // here we used a map of integer to string    mapp := map[int]string{1: "one", 2: "two", 3: "three"}     // integ act as keys of mapp    // spell act as the values of    // mapp which is mapped to integ     for integ, spell := range mapp {         // using integ and spell as        // key and value of the map        fmt.Println(integ, " = ", spell)    }}
Output: 
1  =  one
2  =  two
3  =  three
Example 2:
Go
package main import "fmt" // Driver function to show the// use of for and range togetherfunc main() {     // declaring an array of integers    arra := []int{1, 2, 3, 4}     // traversing through the array    for index, itr := range arra {             // the key or value variables        // used in for syntax        // depends on the container.        // If its an array or list,        // the key refers to the index...        fmt.Print(index, " : ", itr, "\n")    }     // if we use only one    // variable in the for loop,    // it by default refers to    // the value in the container.    for itr := range arra {         fmt.Print(it, " ")    }}
Output: 
0 : 1
1 : 2
2 : 3
3 : 4
1 2 3 4 
kapoorsagar226
nm370130
Picked
Go Language
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
6 Best Books to Learn Go Programming Language
strings.Replace() Function in Golang With Examples
fmt.Sprintf() Function in Golang With Examples
How to Split a String in Golang?
Golang Maps
Different Ways to Find the Type of Variable in Golang
Inheritance in GoLang
Interfaces in Golang
How to Trim a String in Golang?
How to compare times in Golang?