Bird
Raised Fist0
Goprogramming~20 mins

Why loop control is required in Go - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
๐ŸŽ–๏ธ
Loop Control Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
2:00remaining
Output of loop with break statement
What is the output of this Go program that uses a break statement inside a loop?
Go
package main
import "fmt"
func main() {
    for i := 1; i <= 5; i++ {
        if i == 3 {
            break
        }
        fmt.Print(i, " ")
    }
}
A1 2
B1 2 3
C1 2 3 4 5
D3 4 5
Attempts:
2 left
๐Ÿ’ก Hint
The break statement stops the loop immediately when the condition is met.
โ“ Predict Output
intermediate
2:00remaining
Output of loop with continue statement
What will this Go program print when it uses continue inside a loop?
Go
package main
import "fmt"
func main() {
    for i := 1; i <= 5; i++ {
        if i == 3 {
            continue
        }
        fmt.Print(i, " ")
    }
}
A1 2 4 5
B1 2 3 4 5
C3
D1 2
Attempts:
2 left
๐Ÿ’ก Hint
The continue statement skips the current loop iteration when the condition is true.
๐Ÿง  Conceptual
advanced
2:00remaining
Why is loop control important in programming?
Why do programmers use loop control statements like break and continue in loops?
ATo print output faster without delays
BTo stop or skip parts of the loop based on conditions, improving efficiency and control
CTo create new variables inside the loop automatically
DTo make the loop run forever without stopping
Attempts:
2 left
๐Ÿ’ก Hint
Think about how loops can be controlled to avoid unnecessary work or infinite loops.
โ“ Predict Output
advanced
2:00remaining
Output of nested loops with break
What is the output of this Go program with nested loops and a break statement?
Go
package main
import "fmt"
func main() {
    for i := 1; i <= 3; i++ {
        for j := 1; j <= 3; j++ {
            if j == 2 {
                break
            }
            fmt.Printf("%d%d ", i, j)
        }
    }
}
A11 12 21 22 31 32
B11 21 22 31 32
C11 12 13 21 22 23 31 32 33
D11 21 31
Attempts:
2 left
๐Ÿ’ก Hint
The break only stops the inner loop when j equals 2.
โ“ Predict Output
expert
2:00remaining
Value of counter after loop with continue and break
What is the value of variable count after running this Go program?
Go
package main
import "fmt"
func main() {
    count := 0
    for i := 1; i <= 5; i++ {
        if i == 2 {
            continue
        }
        if i == 4 {
            break
        }
        count++
    }
    fmt.Println(count)
}
A4
B3
C2
D5
Attempts:
2 left
๐Ÿ’ก Hint
Count increments only when continue and break conditions are not met.

Practice

(1/5)
1. Why is loop control like break or continue required in Go loops?
easy
A. To print output inside the loop
B. To declare variables inside the loop
C. To define the loop variable type
D. To manage when to stop or skip parts of the loop

Solution

  1. Step 1: Understand loop control purpose

    Loop control statements like break and continue help decide when to stop or skip parts of a loop.
  2. Step 2: Identify correct usage

    They do not declare variables or print output; their role is to control loop flow.
  3. Final Answer:

    To manage when to stop or skip parts of the loop -> Option D
  4. Quick Check:

    Loop control = manage loop flow [OK]
Hint: Loop control changes loop flow, not variable types [OK]
Common Mistakes:
  • Thinking loop control declares variables
  • Confusing loop control with output commands
  • Assuming loop control sets variable types
2. Which of the following is the correct syntax to skip the current iteration in a Go for loop?
easy
A. skip
B. break
C. continue
D. next

Solution

  1. Step 1: Recall Go loop control keywords

    In Go, continue skips the current iteration and moves to the next.
  2. Step 2: Differentiate from other keywords

    break stops the loop entirely; skip and next are not valid Go keywords.
  3. Final Answer:

    continue -> Option C
  4. Quick Check:

    Skip iteration = continue [OK]
Hint: Use continue to skip current loop iteration [OK]
Common Mistakes:
  • Using break to skip iteration instead of stopping loop
  • Using non-existent keywords like skip or next
  • Confusing continue with break
3. What will be the output of this Go code?
for i := 1; i <= 5; i++ {
    if i == 3 {
        break
    }
    fmt.Print(i, " ")
}
medium
A. 1 2
B. 1 2 3 4 5
C. 3 4 5
D. 1 2 3

Solution

  1. Step 1: Analyze loop and break condition

    The loop runs from 1 to 5, but breaks when i == 3.
  2. Step 2: Determine printed values before break

    It prints values before break: 1 and 2, then stops at 3 without printing it.
  3. Final Answer:

    1 2 -> Option A
  4. Quick Check:

    Break stops loop at 3, prints before break [OK]
Hint: Break stops loop immediately, print before break only [OK]
Common Mistakes:
  • Assuming break prints the break value
  • Thinking loop continues after break
  • Confusing break with continue
4. Identify the error in this Go loop code:
for i := 0; i < 5; i++ {
    if i == 2 {
        continue
    }
    fmt.Println(i)
    break
}
medium
A. The break is inside the loop, so loop stops after first iteration
B. continue is used incorrectly and causes syntax error
C. Loop variable i is not declared properly
D. fmt.Println is not allowed inside loops

Solution

  1. Step 1: Understand loop flow with continue and break

    When i == 2, continue skips printing and break is after print, so loop stops after first iteration.
  2. Step 2: Identify why loop stops early

    Break inside loop after print causes loop to stop immediately, so only one value prints.
  3. Final Answer:

    The break is inside the loop, so loop stops after first iteration -> Option A
  4. Quick Check:

    Break inside loop stops it early [OK]
Hint: Break inside loop stops all iterations immediately [OK]
Common Mistakes:
  • Thinking continue causes syntax error
  • Assuming break is outside loop
  • Believing fmt.Println can't be inside loops
5. You want to print all numbers from 1 to 10 except multiples of 3 using a Go loop. Which code snippet correctly uses loop control to achieve this?
hard
A. for i := 1; i <= 10; i++ { if i % 3 == 0 { break } 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 { fmt.Println(i) } }
D. for i := 1; i <= 10; i++ { fmt.Println(i) if i % 3 == 0 { continue } }

Solution

  1. Step 1: Understand the requirement

    We want to skip printing multiples of 3 but continue the loop for others.
  2. Step 2: Analyze each option

    for i := 1; i <= 10; i++ { if i % 3 == 0 { break } fmt.Println(i) } breaks loop on multiples of 3, stopping early. for i := 1; i <= 10; i++ { if i % 3 == 0 { continue } fmt.Println(i) } uses continue to skip multiples of 3 correctly. for i := 1; i <= 10; i++ { if i % 3 == 0 { fmt.Println(i) } } prints only multiples of 3, wrong. for i := 1; i <= 10; i++ { fmt.Println(i) if i % 3 == 0 { continue } } prints all numbers including multiples of 3.
  3. Final Answer:

    Option B code correctly skips multiples of 3 using continue -> Option B
  4. Quick Check:

    Use continue to skip unwanted iterations [OK]
Hint: Use continue to skip unwanted loop iterations [OK]
Common Mistakes:
  • Using break instead of continue stops loop early
  • Printing only multiples instead of skipping them
  • Placing continue after print causing unwanted output
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