Bird
Raised Fist0
Goprogramming~5 mins

If statement in Go - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: If statement
O(1)
Understanding Time Complexity

We want to see how the time to run an if statement changes as the input changes.

Does the if statement take more time when inputs grow?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


func checkNumber(n int) string {
    if n > 0 {
        return "Positive"
    } else if n == 0 {
        return "Zero"
    } else {
        return "Negative"
    }
}
    

This code checks if a number is positive, zero, or negative and returns a string.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: A single if-else check.
  • How many times: Exactly once per function call.
How Execution Grows With Input

The if statement runs once no matter what the input number is.

Input Size (n)Approx. Operations
101
1001
10001

Pattern observation: The time stays the same even if the input number changes.

Final Time Complexity

Time Complexity: O(1)

This means the if statement takes the same amount of time no matter the input size.

Common Mistake

[X] Wrong: "If statements take longer when the number is bigger."

[OK] Correct: The if statement only checks conditions once, so size or value does not affect time.

Interview Connect

Understanding that simple decisions like if statements run in constant time helps you explain code efficiency clearly and confidently.

Self-Check

"What if we added a loop around the if statement? How would the time complexity change?"

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