for, while loops

suggest change

Go has only one looping construct: for loop.

Here are basic forms.

Full form

main.go

	for i := 0; i < 5; i += 2 {
		fmt.Printf("i: %d\n", i)
	}

Output:

i: 0
i: 2
i: 4

Every part of loop statement is optional.

Without initialization statement

main.go

	i := 0
	for ; i < 5; i += 2 {
		fmt.Printf("i: %d\n", i)
	}

Output:

i: 0
i: 2
i: 4

Without test expression

Using break to terminate the loop

main.go

	i := 0
	for ; ; i += 2 {
		fmt.Printf("i: %d\n", i)
		if i >= 5 {
			break
		}
	}

Output:

i: 0
i: 2
i: 4
i: 6

Without increment statement

main.go

	for i := 0; i < 5; {
		fmt.Printf("i: %d\n", i)
		i += 2
	}

Output:

i: 0
i: 2
i: 4

Infinite loop

main.go

	i := 0
	for {
		fmt.Printf("i: %d\n", i)
		i += 2
		if i >= 5 {
			break
		}
	}

Output:

i: 0
i: 2
i: 4

for loop over a slice with range

main.go

	a := []int{1, 3, 5}
	for idx, value := range a {
		fmt.Printf("idx: %d, value: %d\n", idx, value)
	}

Output:

idx: 0, value: 1
idx: 1, value: 3
idx: 2, value: 5

Different forms of for loop

break and continue

while loop

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents