Bird
Raised Fist0
Goprogramming~5 mins

Continue statement in Go - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Continue statement
O(n)
Understanding Time Complexity

Let's see how the continue statement affects the time a program takes to run.

We want to know if skipping some steps changes how long the code runs as input grows.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


for i := 0; i < n; i++ {
    if i%2 == 0 {
        continue
    }
    // some constant time work here
}
    

This code loops from 0 to n-1, but skips the work when i is even using continue.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: A single loop running n times.
  • How many times: The loop runs n times, but work inside runs about half the times.
How Execution Grows With Input

Even though some steps are skipped, the loop still checks all n items.

Input Size (n)Approx. Operations
1010 loop checks, 5 work executions
100100 loop checks, 50 work executions
10001000 loop checks, 500 work executions

Pattern observation: The total steps grow linearly with n, skipping work only halves some operations.

Final Time Complexity

Time Complexity: O(n)

This means the time grows directly with the input size, even if some steps are skipped.

Common Mistake

[X] Wrong: "Using continue makes the loop run faster and changes time complexity to O(n/2)."

[OK] Correct: Even if some work is skipped, the loop still runs n times, so time still grows linearly with n.

Interview Connect

Understanding how continue affects loops helps you explain code efficiency clearly and shows you know how skipping steps impacts performance.

Self-Check

What if we replaced continue with break? How would the time complexity change?

Practice

(1/5)
1. What does the continue statement do inside a loop in Go?
easy
A. Skips the rest of the current loop iteration and moves to the next iteration
B. Stops the entire loop immediately
C. Exits the current function
D. Repeats the current iteration without moving forward

Solution

  1. Step 1: Understand the role of continue in loops

    The continue statement tells the loop to skip the remaining code in the current iteration.
  2. Step 2: Identify what happens after continue

    After skipping, the loop moves on to the next iteration without stopping the whole loop.
  3. Final Answer:

    Skips the rest of the current loop iteration and moves to the next iteration -> Option A
  4. Quick Check:

    continue skips current step [OK]
Hint: Remember: continue skips current step, not whole loop [OK]
Common Mistakes:
  • Confusing continue with break
  • Thinking continue exits the function
  • Assuming continue repeats the iteration
2. Which of the following is the correct syntax to use continue inside a for loop in Go?
easy
A. continue
B. continue {}
C. continue()
D. continue;

Solution

  1. Step 1: Recall Go syntax for statements

    In Go, continue is a keyword used alone without parentheses or semicolons.
  2. Step 2: Identify the correct form

    The correct usage is simply continue by itself inside the loop.
  3. Final Answer:

    continue -> Option A
  4. Quick Check:

    Go statements like continue have no parentheses or semicolons [OK]
Hint: Use continue alone, no parentheses or semicolon needed [OK]
Common Mistakes:
  • Adding semicolon after continue
  • Using continue as a function with parentheses
  • Using braces {} after continue
3. What will be the output of the following Go code?
for i := 1; i <= 5; i++ {
    if i == 3 {
        continue
    }
    fmt.Print(i, " ")
}
medium
A. 1 2 3 4 5
B. 1 2
C. 3 4 5
D. 1 2 4 5

Solution

  1. Step 1: Analyze the loop and condition

    The loop runs from 1 to 5. When i equals 3, continue skips printing 3.
  2. Step 2: Determine printed values

    Values 1, 2, 4, and 5 are printed with spaces. Number 3 is skipped.
  3. Final Answer:

    1 2 4 5 -> Option D
  4. Quick Check:

    continue skips printing 3 [OK]
Hint: Skip printing when continue hits condition [OK]
Common Mistakes:
  • Including 3 in output
  • Stopping loop instead of skipping
  • Printing nothing due to misunderstanding continue
4. Identify the error in this Go code snippet using continue:
for i := 0; i < 5; i++ {
    if i == 2 {
        continue()
    }
    fmt.Println(i)
}
medium
A. The loop condition is incorrect
B. fmt.Println is used incorrectly
C. Using parentheses with continue causes a syntax error
D. continue should be replaced with break

Solution

  1. Step 1: Check the usage of continue

    In Go, continue is a statement without parentheses. Using continue() causes a syntax error.
  2. Step 2: Verify other parts

    The loop condition and fmt.Println usage are correct. The error is only in the continue syntax.
  3. Final Answer:

    Using parentheses with continue causes a syntax error -> Option C
  4. Quick Check:

    continue has no parentheses in Go [OK]
Hint: Don't add parentheses after continue [OK]
Common Mistakes:
  • Writing continue() instead of continue
  • Confusing continue with break
  • Misreading loop condition as error
5. You want to print all numbers from 1 to 10 except multiples of 3 using a for loop and continue. Which code snippet correctly achieves this?
hard
A. for i := 1; i <= 10; i++ { if i % 3 != 0 { continue } fmt.Println(i) }
B. for i := 1; i <= 10; i++ { if i % 3 == 0 { continue } fmt.Println(i) }
C. for i := 1; i <= 10; i++ { if i % 3 == 0 { break } fmt.Println(i) }
D. for i := 1; i <= 10; i++ { if i % 3 == 0 { fmt.Println(i) continue } }

Solution

  1. Step 1: Understand the goal

    We want to skip printing numbers divisible by 3 and print all others from 1 to 10.
  2. Step 2: Analyze each option

    for i := 1; i <= 10; i++ { if i % 3 == 0 { continue } fmt.Println(i) } skips printing multiples of 3 using continue correctly. for i := 1; i <= 10; i++ { if i % 3 != 0 { continue } fmt.Println(i) } skips non-multiples, printing only multiples. for i := 1; i <= 10; i++ { if i % 3 == 0 { break } fmt.Println(i) } breaks the loop early. for i := 1; i <= 10; i++ { if i % 3 == 0 { fmt.Println(i) continue } } prints multiples and skips others incorrectly.
  3. Final Answer:

    for i := 1; i <= 10; i++ { if i % 3 == 0 { continue } fmt.Println(i) } -> Option B
  4. Quick Check:

    continue skips multiples of 3, print others [OK]
Hint: Use if condition with continue to skip unwanted values [OK]
Common Mistakes:
  • Using break instead of continue
  • Reversing the condition logic
  • Printing inside the continue block
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