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 {
			...
}