In computer programming, we use the if statement to run a block code only when a certain condition is met.
For example, assigning grades (A, B, C) based on marks obtained by a student.
- if the percentage is above 90, assign grade A
- if the percentage is above 75, assign grade B
- if the percentage is above 65, assign grade C
Go if statement
The syntax of the if
statement in Go programming is:
if test_condition { // code }
If test_condition evaluates to
true
- statements inside the body ofif
are executed.false
- statements inside the body ofif
are not executed.

Example: Simple if statement in Golang
// Program to display a number if it is positive package main import "fmt" func main() { number := 15 // true if number is less than 0 if number > 0 { fmt.Printf("%d is a positive number\n", number) } fmt.Println("Out of the loop") }
Output
15 is a positive number Out of the loop
In the above example, we have created a variable named number. Notice the condition,
number > 0
Here, since the variable number is greater than 0, the condition evaluates true
.
If we change the variable to a negative integer. Let's say -5.
number := -5
Now, when we run the program, the output will be:
Out of the loop
This is because the value of number is less than 0. Hence, the condition evaluates to false
. And, the body of the if
block is skipped.
Go if...else statement
The if
statement may have an optional else
block. The syntax of the if..else
statement is:
if test_condition { // run code if test_condition is true } else { // run code if test_condition is false }
If test_condition evaluates to true
,
- the code inside
if
is executed - the code inside
else
is skipped
If test_condition evaluates to false
,
- the code inside
else
is executed - the code inside
if
is skipped

Example: if...else statement in Golang
package main import "fmt" func main() { number := 10 // checks if number is greater than 0 if number > 0 { fmt.Printf("%d is a positive number\n", number) } else { fmt.Printf("%d is a negative number\n", number) } }
Output
10 is a positive number
The number is 10, so the test condition number > 0
is evaluated to be true
. Hence, the statement inside the body of if
is executed.
If we change the variable to a negative integer. Let's say -5.
number := -5
Now if we run the program, the output will be:
-5 is a negative number
Here, the test condition evaluates to false
. Hence code inside the body of else
is executed.
Note: The else
statement must start in the same line where the if
statement ends.
Go if...else if ladder
The if...else
statement is used to execute a block of code among two alternatives.
However, if you need to make a choice between more than two alternatives, then we use the else if
statement.
if test_condition1 { // code block 1 } else if test_condition2 { // code block 2 }. . . } else { // code block 3 }
Here,
if test_condition1 evaluates to true
code block 1
is executedcode block 2
andcode block 3
are skipped
if test_condition2 evaluates to true
code block 2
is executedcode block 1
andcode block 3
are skipped
if both test conditions evaluates to false
code block 3
is executedcode block 1
andcode block 2
are skipped

Example: if...if else ladder statement in Golang
// Program to relate two integers using =, > or < symbol package main import "fmt" func main() { number1 := 12 number2 := 20 if number1 == number2 { fmt.Printf("Result: %d == %d", number1, number2) } else if number1 > number2 { fmt.Printf("Result: %d > %d", number1, number2) } else { fmt.Printf("Result: %d < %d", number1, number2) } }
Output
Result: 12 < 20
Here, both the test conditions number1 == number2
and number1 > number2
are false
. Hence the code inside the else
block is executed.
Go nested if statement
You can also use an if
statement inside of an if
statement. This is known as a nested if statement.
// outer if statement if test_condition1 { // statements // inner if...else statement if test_condition2 { // statements }else { // statements } }
Example: Nested if statement in Golang
package main import "fmt" func main() { number1 := 12 number2 := 20 // outer if statement if number1 >= number2 { // inner if statement if number1 == number2 { fmt.Printf("Result: %d == %d", number1, number2) // inner else statement } else { fmt.Printf("Result: %d > %d", number1, number2) } // outer else statement } else { fmt.Printf("Result: %d < %d", number1, number2) } }
Output
Result: 12 < 20
If the outer condition number1 >= number2
is true
- inner
if
conditionnumber1 == number2
is checked - if condition is
true
, code inside the innerif
is executed - if condition is
false
, code inside the innerelse
is executed
If the outer condition is false
, the outer else
statement is executed.