Go – Decision Making
Estimated reading: 3 minutes 296 views

Go If…Else Statement – Handle Conditional Branches in Go (2025 Guide)

Introduction – What Is If…Else in Go?

The if...else statement in Go lets you choose between two paths of execution based on a boolean condition. It’s used when you want one block to run if a condition is true, and another to run if it’s false.

In this section, you’ll learn:

  • Syntax of if...else and if...else if...else ladders
  • When to use inline variable declarations
  • Practical examples with output
  • Tips to keep your code clean and readable

Basic If…Else Syntax in Go

if condition {
    // executes if condition is true
} else {
    // executes if condition is false
}

Example:

age := 16

if age >= 18 {
    fmt.Println("You can vote.")
} else {
    fmt.Println("You cannot vote yet.")
}

Output:

You cannot vote yet.

If…Else If…Else Ladder

Use this structure to check multiple conditions in sequence.

score := 82

if score >= 90 {
    fmt.Println("Grade: A")
} else if score >= 75 {
    fmt.Println("Grade: B")
} else if score >= 60 {
    fmt.Println("Grade: C")
} else {
    fmt.Println("Grade: F")
}

Output:

Grade: B

Inline Variable Declaration in If

Declare and use a variable within the if condition:

if temp := 25; temp > 30 {
    fmt.Println("Hot")
} else {
    fmt.Println("Comfortable")
}

Output:

Comfortable

The variable temp exists only within the if-else block.


Real-World Example – Login Checker

username := "admin"
password := "1234"

if username == "admin" && password == "1234" {
    fmt.Println("Login successful")
} else {
    fmt.Println("Invalid credentials")
}

Output:

Login successful

Important Notes

  • Parentheses around conditions are not allowed in Go
  • Braces {} are required even for single-line blocks
  • Use else if to handle multiple conditions without deeply nesting if statements

Best Practices

Keep condition expressions short and meaningful
Use inline if declarations for scoped variables
Avoid deeply nested if-else blocks — refactor logic if necessary
Comment complex logic conditions for clarity


Summary – Recap & Next Steps

The if...else statement is a vital tool for handling binary choices in Go. For more complex decision-making with many conditions, prefer else if or even switch statements for cleaner code.

Key Takeaways:

  • if...else is used for binary branching
  • Use else if for chained conditions
  • Inline variable declarations help scope temporary values
  • Go enforces clean syntax with mandatory braces and no parentheses

Next: Explore Go Switch Statements to simplify multi-branch conditions.


FAQs – Go If…Else Statement

Can I omit the else in an if block in Go?
Yes. else is optional if you don’t need an alternative branch.

How many else if blocks can I use in Go?
As many as needed. Go processes them top-down until a match is found.

Can I use an else after an inline if declaration?
Yes. The inline-declared variable remains in scope across the entire if-else block.

Is it valid to write multiple if blocks separately instead of using else if?
It’s valid, but not recommended if the conditions are logically connected. Use else if for clarity.

What’s the difference between else if and a nested if inside else?
else if is cleaner and more readable. Nesting leads to more indentation and less clarity.


Share Now :
Share

Go If…Else Statement

Or Copy Link

CONTENTS
Scroll to Top