Link Search Menu Expand Document

Loop - Break & Continue

According to the Go Specification, break and continue are keywords.

break        default      func         interface    select
case         defer        go           map          struct
chan         else         goto         package      switch
const        fallthrough  if           range        type
continue     for          import       return       var

break will break out of a loop. It’s a way to stop looping.

continue will move on to the next iteration. Let’s see it in action.

Aside dividing and remainders

package main

import (
	"fmt"
)

func main() {
	x := 83 / 40
	y := 83 % 40
	fmt.Println(x, y)
}

playground

note: % (modulo) is an Arithmetic operator that gives the remainder.

Back to continue in action. Let’s say we want to iterate from 1 through to 100, and print out only the even numbers, we can use for, if, and continue

package main

import (
	"fmt"
)

func main() {
	x := 0
	for {
		x++

		// break out of the loop (stop the loop)
		// if x is greater than 100
		if x > 100 {
			break
		}

		// continue to the next iteration if the
		// remainder of x divided by 2 is not 0
		// (if x is not even)
		if x%2 != 0 {
			continue
		}

		fmt.Println(x)

	}
	fmt.Println("done.")
}

playground