For
Basic for loop
func main() {
acc := 0
for i := 0; i < 10; i++ {
acc += 1
}
fmt.Println(acc)
}While loop
func main() {
acc := 0
for acc < 10 {
acc += 1
}
fmt.Println(acc)
}Forever
func main() {
acc := 0
for {
acc += 1
fmt.Println(acc)
}
}Range
If you don’t want to use index, just put _, and the compiler will not error
func main() {
a := []string{"bob", "job", "rob"}
for index, name := range a {
fmt.Printf("index %v, name %v\n", index, name)
}
}
/*
Output:
index 0, name bob
index 1, name job
index 2, name rob
*/Examples for other data types
Map
for key, value := range myMap {
...
}