Go - nested if statements
Nested if Statement
It is always legal in Go programming to nest if-else statements, which means you can use one if or else if statement inside another if or else if statement(s).
Syntax
The syntax for a nested if statement is as follows −
if( boolean_expression 1) {
/* Executes when the boolean expression 1 is true */
if(boolean_expression 2) {
/* Executes when the boolean expression 2 is true */
}
}
You can nest else if...else in the similar way as you have nested if statement.
Example of Nested if Statement
This example demonstrates nested if statements:
package main
import "fmt"
func main() {
/* local variable definition */
var a int = 100
var b int = 200
/* check the boolean condition */
if( a == 100 ) {
/* if condition is true then check the following */
if( b == 200 ) {
/* if condition is true then print the following */
fmt.Printf("Value of a is 100 and b is 200\n" );
}
}
fmt.Printf("Exact value of a is : %d\n", a );
fmt.Printf("Exact value of b is : %d\n", b );
}
When the above code is compiled and executed, it produces the following result −
Value of a is 100 and b is 200 Exact value of a is : 100 Exact value of b is : 200
Nested if Statement with break
The break statement terminates the loops, and it can be used inside a nested if statement, but a nested if statement should be used inside a loop.
Example
This example demonstrates the use of a break statement within a nested if statement that is placed inside a for loop.
In this example, there is an integer array, and we are checking even and odd numbers that are greater than 20 and breaking the loop if an even number is found that is greater than 20.
package main
import "fmt"
func main() {
// An int array
arr := []int{10, 20, 55, 53, 75, 80}
for _, num := range arr {
if num > 20 {
if num%2 == 0 {
fmt.Println("Even number found, breaking loop.")
break
} else {
fmt.Printf("Odd number > 20: %d\n", num)
}
}
}
fmt.Println("End of loop.")
}
When the above code is compiled and executed, it produces the following result −
Odd number > 20: 55 Odd number > 20: 53 Odd number > 20: 75 Even number found, breaking loop. End of loop.