Go break
The break
statement terminates the loop when it is encountered. For example,
for initialization; condition; update {
break
}
Here, irrespective of the condition of the for loop, the break
statement terminates the loop.
Working of Go break statement
Example: Go break statement
package main
import "fmt"
func main() {
for i := 1 ; i <= 5 ; i++ {
// terminates the loop when i is equal to 3
if i == 3 {
break
}
fmt.Println(i)
}
}
Output
1 2
In the above example, we have used the for
loop to print the value of i
. Notice the use of the break
statement,
if i == 3 {
break
}
Here, when i
is equal to 3, the break
statement terminates the loop. Hence, the output doesn't include values after 2.
break-nested-loop Go break statement with nested loops
When we use the break
statement with nested loops, it terminates the inner loop. For example,
package main
import "fmt"
func main() {
// outer for loop
for i := 1; i <= 3; i++ {
// inner for loop
for j := 1; j <= 3; j++ {
// terminates the inner for loop only
if i==2 {
break
}
fmt.Println("i=", i, "j=", j)
}
}
}
Output
i = 1, j = 1 i = 1, j = 2 i = 1, j = 3 i = 3, j = 1 i = 3, j = 2 i = 3, j = 3
In the above example, we have used the break
statement inside the inner for loop.
if i == 2 {
break
}
Here, when the value of i is 2, the break
statement terminates the inner for
loop.
Hence, we didn't get any output for value i = 2
.
Go continue
In Go, the continue
statement skips the current iteration of the loop. It passes the control flow of the program to the next iteration. For example,
for initialization; condition; update {
if condition {
continue
}
}
Here, irrespective of the condition of the for loop, the continue
statement skips the current iteration of the loop.
Working of Go continue statement
Example: Go continue statement
package main
import "fmt"
func main() {
for i := 1 ; i <= 5 ; i++ {
// skips the iteration when i is equal to 3
if i == 3 {
continue
}
fmt.Println(i)
}
}
Output
1 2 4 5
In the above example, we have used the for
loop to print the value of i. Notice the use of the continue
statement,
if i == 3 {
continue
}
Here, when i is equal to 3, the continue
statement is executed. Hence, it skips the current iteration and starts the next iteration. The value 3 is not printed to the output.
Go continue statement with nested loops
When we use the continue
statement with nested loops, it skips the current iteration of the inner loop. For example,
package main
import "fmt"
func main() {
for i := 1; i <= 3; i++ {
for j := 1; j <= 3; j++ {
// skips the inner for loop only
if j==2 {
continue
}
fmt.Println("i=", i, "j=",j )
}
}
}
Output
i= 1 j= 1 i= 1 j= 3 i= 2 j= 1 i= 2 j= 3 i= 3 j= 1 i= 3 j= 3
In the above example, we have used the continue
statement inside the inner for
loop.
if j == 2 {
continue
}
Here, when the value of j is 2, the continue
statement is executed. Hence, the value of j = 2
is never displayed in the output.
Note: The break
and continue
statement is almost always used with decision-making statements. To learn about decision-making, visit Golang if else.