Bird
Raised Fist0
Goprogramming~5 mins

If statement in Go

Choose your learning style10 modes available
Introduction

An if statement helps your program make choices by running code only when certain conditions are true.

To check if a user entered the correct password before allowing access.
To decide if a number is positive or negative and print a message.
To run a special offer only if a customer buys more than 5 items.
To check if a file exists before trying to open it.
Syntax
Go
if condition {
    // code to run if condition is true
}

The condition must be a boolean expression (true or false).

Curly braces { } are required even for one line of code inside the if.

Examples
This runs the print only if x is bigger than 10.
Go
if x > 10 {
    fmt.Println("x is greater than 10")
}
This checks if the name is exactly "Alice" and greets her.
Go
if name == "Alice" {
    fmt.Println("Hello, Alice!")
}
This runs if the boolean variable isRaining is true.
Go
if isRaining {
    fmt.Println("Take an umbrella.")
}
Sample Program

This program checks if the age is 18 or more and prints a message if true.

Go
package main

import "fmt"

func main() {
    age := 20
    if age >= 18 {
        fmt.Println("You are an adult.")
    }
}
OutputSuccess
Important Notes

You can add else or else if to handle other cases, but if alone is enough for simple checks.

Make sure the condition inside if returns true or false, not other types.

Summary

If statements let your program choose what to do based on conditions.

Use curly braces { } to group the code that runs when the condition is true.

Conditions must be boolean expressions that say true or false.

Practice

(1/5)
1. What does an if statement do in Go?
easy
A. It runs code only if a condition is true.
B. It repeats code multiple times.
C. It stores data in a variable.
D. It defines a new function.

Solution

  1. Step 1: Understand the purpose of an if statement

    An if statement checks a condition and runs code only when that condition is true.
  2. Step 2: Compare options with the if statement behavior

    Only "It runs code only if a condition is true." describes running code based on a condition being true.
  3. Final Answer:

    It runs code only if a condition is true. -> Option A
  4. Quick Check:

    If statement = runs code if true [OK]
Hint: If checks true/false to decide running code [OK]
Common Mistakes:
  • Confusing if with loops
  • Thinking if stores data
  • Mixing if with function definitions
2. Which of these is the correct syntax for an if statement in Go?
easy
A. if (x > 10) then { fmt.Println("Big") }
B. if x > 10 { fmt.Println("Big") }
C. if x > 10: fmt.Println("Big")
D. if x > 10 { fmt.Println("Big") else }

Solution

  1. Step 1: Recall Go if statement syntax

    Go uses if condition { code } without parentheses or 'then'.
  2. Step 2: Check each option

    if x > 10 { fmt.Println("Big") } matches Go syntax exactly. Options A, C, and D have syntax errors.
  3. Final Answer:

    if x > 10 { fmt.Println("Big") } -> Option B
  4. Quick Check:

    Go if syntax = if condition { } [OK]
Hint: Go if uses braces, no 'then' or colons [OK]
Common Mistakes:
  • Adding 'then' keyword
  • Using parentheses around condition
  • Using colon instead of braces
3. What is the output of this Go code?
package main
import "fmt"
func main() {
  x := 5
  if x > 3 {
    fmt.Println("Yes")
  } else {
    fmt.Println("No")
  }
}
medium
A. Syntax error
B. No
C. 5
D. Yes

Solution

  1. Step 1: Check the condition in the if statement

    The variable x is 5, and the condition is x > 3, which is true.
  2. Step 2: Determine which block runs

    Since the condition is true, the code inside the if block runs, printing "Yes".
  3. Final Answer:

    Yes -> Option D
  4. Quick Check:

    x=5 > 3 is true, prints "Yes" [OK]
Hint: If condition true runs if-block, else runs else-block [OK]
Common Mistakes:
  • Confusing which block runs
  • Thinking it prints the variable
  • Assuming syntax error due to else
4. Find the error in this Go code:
package main
import "fmt"
func main() {
  x := 10
  if x > 5
    fmt.Println("Big")
}
medium
A. Variable x not declared
B. Missing semicolon after x := 10
C. Missing braces { } after if condition
D. Wrong import statement

Solution

  1. Step 1: Check if statement syntax

    In Go, the if condition must be followed by braces { } to group the code.
  2. Step 2: Identify the missing part

    The code after if lacks braces, causing a syntax error.
  3. Final Answer:

    Missing braces { } after if condition -> Option C
  4. Quick Check:

    If needs braces { } after condition [OK]
Hint: Always use braces { } after if condition [OK]
Common Mistakes:
  • Omitting braces after if
  • Adding unnecessary semicolons
  • Misunderstanding import errors
5. You want to print "Positive", "Zero", or "Negative" based on an integer variable n. Which code correctly uses if statements to do this?
hard
A. if n > 0 { fmt.Println("Positive") } else if n == 0 { fmt.Println("Zero") } else { fmt.Println("Negative") }
B. if n > 0 { fmt.Println("Positive") } if n == 0 { fmt.Println("Zero") } else { fmt.Println("Negative") }
C. if n > 0 { fmt.Println("Positive") } else if n <= 0 { fmt.Println("Negative") } else { fmt.Println("Zero") }
D. if n >= 0 { fmt.Println("Positive") } else if n == 0 { fmt.Println("Zero") } else { fmt.Println("Negative") }

Solution

  1. Step 1: Understand the conditions for each case

    Positive means n > 0, zero means n == 0, negative means n < 0.
  2. Step 2: Check each option's logic

    if n > 0 { fmt.Println("Positive") } else if n == 0 { fmt.Println("Zero") } else { fmt.Println("Negative") } correctly checks n > 0, then n == 0, else negative. if n > 0 { fmt.Println("Positive") } if n == 0 { fmt.Println("Zero") } else { fmt.Println("Negative") } has two separate ifs causing multiple prints. if n > 0 { fmt.Println("Positive") } else if n <= 0 { fmt.Println("Negative") } else { fmt.Println("Zero") } swaps zero and negative logic. if n >= 0 { fmt.Println("Positive") } else if n == 0 { fmt.Println("Zero") } else { fmt.Println("Negative") } wrongly treats n >= 0 as positive.
  3. Final Answer:

    if n > 0 { fmt.Println("Positive") } else if n == 0 { fmt.Println("Zero") } else { fmt.Println("Negative") } -> Option A
  4. Quick Check:

    Correct if-else chain matches conditions [OK]
Hint: Use else if to check exclusive conditions in order [OK]
Common Mistakes:
  • Using multiple ifs causing multiple outputs
  • Mixing condition order
  • Wrong comparison operators
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard