Go Basics
Go for Loops
Go has one loop keyword. See its four forms: counting, while-style, infinite and range.
What you'll learn
- The three-part for
- for as a while loop
- range
for i := 1; i <= 3; i++
1print
2print
3print
4stop
One keyword, four forms
Go has one loop keyword: for. It can count with three parts, repeat while a condition is true, run forever until break, or visit every item with range.
The first loop has a start, a condition and a step. The second has only a condition, like while in other languages. The third has nothing and ends with break. range over a string gives the position and the character of each letter.
Key points
- for i := 1; i
<=3; i++ counts. - for condition { } works like while.
- range visits every item.
Runnable Go example
main.go
package main
import "fmt"
func main() {
for i := 1; i <= 3; i++ {
fmt.Println("for:", i)
}
countdown := 3
for countdown > 0 { // a while loop
fmt.Println("while:", countdown)
countdown--
}
total := 0
for { // an infinite loop, left with break
total += 10
if total >= 30 {
break
}
}
fmt.Println("loop result:", total)
for index, letter := range "Go" {
fmt.Println(index, string(letter))
}
}
for: 1
for: 2
for: 3
while: 3
while: 2
while: 1
loop result: 30
0 G
1 oPractice
Open the example in the online compiler, change a value or add a line, and predict the output before you run it. Then break the code on purpose and read the compiler's message.
Finished this lesson?
Mark it as learned to track your progress.
Your progress is saved in this browser Sign in to keep it on every device.
Practice with a challenge
Use what this lesson covers to solve a real problem. Each challenge runs in your browser with instant tests and an AI review.
- Countdown to Liftoff Count down from a number and end with Liftoff! Easy
- Sum of Odd Numbers Add every odd number up to a limit. Easy