
- Go - Home
- Go - Overview
- Go - Environment Setup
- Go - Program Structure
- Go - Basic Syntax
- Go - Data Types
- Go - Variables
- Go - Constants
- Go - Identifiers
- Go - Keywords
- Go - Operators
- Go - Arithmetic Operators
- Go - Assignment Operators
- Go - Relational Operators
- Go - Logical Operators
- Go - Bitwise Operators
- Go - Miscellaneous Operators
- Go - Operators Precedence
- Go Decision Making
- Go - Decision Making
- Go - If Statement
- Go - If Else Statement
- Go - Nested If Statements
- Go - Switch Statement
- Go - Select Statement
- Go Control Flow Statements
- Go - For Loop
- Go - Nested for Loops
- Go - Break Statement
- Go - Continue Statement
- Go - Goto Statement
- Go Functions
- Go - Functions
- Go - Call by Value
- Go - Call by Reference
- Go - Functions as Values
- Go - Function Closure
- Go - Function Method
- Go - Anonymous function
- Go Strings
- Go - Strings
- Go - String Length
- Go - String Concatenation
- Go - Compare Strings
- Go - Split String
- Go - Substring Extraction
- Go - String Replacement
- Go - String Interpolation
- Go - Parse Date Strings
- Go Arrays
- Go - Arrays
- Go - Multidimensional Arrays
- Go - Multidimensional Arrays
- Go - Passing Arrays to Functions
- Go - Pointers
- Go - Pointers
- Go - Array of pointers
- Go - Pointer to pointer
- Go - Passing pointers to functions
- Go Advanced Control Structures
- Go - Scope Rules
- Go - Dereferencing Pointer
- Go - Structures
- Go - Slice
- Go - Slice of Slices
- Go - Range
- Go - Maps
- Go - Recursion
- Go - Type Casting
- Go - Interfaces
- Go - Type Assertion
- Go - Error Handling
- Go - Concurrency
- Go - Regular Expression
- Go - Inheritance
- Go - Packages
- Go - Templates
- Go - Reflection
- Go - Generics
- Go File Handling
- Go - Read File By Word
- Go - Read File By Line
- Go - Read CSV Files
- Go - Delete File
- Go - Rename & Move File
- Go - Truncate a File
- Go - File Read-Write Mode W/O Truncation
- Go Miscellaneous
- Go - defer Keyword
- Go - Fmt Package
- Go - Zero Value
- Go - Import
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.