Bird
Raised Fist0
Goprogramming~10 mins

If statement in Go - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - If statement
Start
↓
Evaluate condition
↓
Execute if-block
↓
Continue
↓
Skip if-block
↓
Continue
The program checks a condition. If true, it runs the code inside the if-block. If false, it skips it and continues.
Execution Sample
Go
package main
import "fmt"
func main() {
  x := 10
  if x > 5 {
    fmt.Println("x is greater than 5")
  }
}
This code checks if x is greater than 5 and prints a message if true.
Execution Table
StepCondition (x > 5)ResultBranch TakenOutput
110 > 5TrueExecute if-blockx is greater than 5
2End of if statementN/AContinue
💡 Condition true, if-block executed once, then program continues.
Variable Tracker
VariableStartAfter Step 1Final
xundefined1010
Key Moments - 2 Insights
Why does the program print the message only when x is greater than 5?
Because the if statement checks the condition 'x > 5'. If true (see execution_table step 1), it runs the print command inside the if-block.
What happens if the condition is false?
The program skips the if-block and continues without printing anything, as shown in the 'Branch Taken' column for false conditions.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the condition result at step 1?
ATrue
BFalse
CUndefined
DError
💡 Hint
Check the 'Condition (x > 5)' and 'Result' columns in execution_table row 1.
At which step does the program decide to execute the if-block?
AStep 2
BStep 1
CBefore Step 1
DAfter Step 2
💡 Hint
Look at the 'Branch Taken' column in execution_table row 1.
If x was 3 instead of 10, what would happen in the execution table?
ACondition would be true and print message
BProgram would crash
CCondition would be false and skip if-block
DOutput would be empty but branch taken is execute if-block
💡 Hint
Refer to how condition affects branch taken in execution_table and key_moments.
Concept Snapshot
If statement syntax:
if condition {
  // code runs if condition is true
}
Checks condition once.
Runs code block only if true.
Skips block if false.
Full Transcript
This visual execution shows how an if statement works in Go. The program starts and evaluates the condition 'x > 5'. If the condition is true, it executes the code inside the if-block, printing a message. If false, it skips the block and continues. The variable x is set to 10 before the check. The execution table traces each step, showing the condition evaluation, branch taken, and output. Key moments clarify why the message prints only when the condition is true and what happens if false. The quiz tests understanding of condition results, branch decisions, and changes if x changes. The snapshot summarizes the if statement syntax and behavior simply.

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