Bird
Raised Fist0
Goprogramming~20 mins

Infinite loops in Go - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
๐ŸŽ–๏ธ
Infinite Loop Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
2:00remaining
Output of a simple infinite loop with break
What is the output of this Go program?
Go
package main
import "fmt"
func main() {
  i := 0
  for {
    if i == 3 {
      break
    }
    fmt.Print(i)
    i++
  }
}
A123
B0123
C012
D0
Attempts:
2 left
๐Ÿ’ก Hint
Look at when the loop stops printing.
โ“ Predict Output
intermediate
2:00remaining
Output of infinite loop with continue
What is the output of this Go program?
Go
package main
import "fmt"
func main() {
  i := 0
  for {
    i++
    if i%2 == 0 {
      continue
    }
    if i > 5 {
      break
    }
    fmt.Print(i)
  }
}
A1357
B12345
C246
D135
Attempts:
2 left
๐Ÿ’ก Hint
Only odd numbers less than or equal to 5 are printed.
๐Ÿ”ง Debug
advanced
2:00remaining
Identify the cause of infinite loop
Why does this Go program run forever without stopping?
Go
package main
import "fmt"
func main() {
  i := 0
  for i < 5 {
    fmt.Print(i)
  }
}
AVariable i is never incremented inside the loop
BThe loop condition is always false
CThe fmt.Print causes the loop to restart
DThe for loop syntax is invalid
Attempts:
2 left
๐Ÿ’ก Hint
Check if the loop variable changes inside the loop.
๐Ÿ“ Syntax
advanced
2:00remaining
Which option causes a compile error due to infinite loop syntax?
Which of these Go loop statements will cause a compile error?
Afor i := 0; i < 5 {}
Bfor i := 0; i < 5; i++ {}
Cfor {}
Dfor i := 0; i < 5; i++ { break }
Attempts:
2 left
๐Ÿ’ก Hint
Check if the for loop header has all three parts separated by semicolons.
๐Ÿš€ Application
expert
2:00remaining
How many times does this infinite loop print?
How many times will the following Go program print "Hello" before stopping?
Go
package main
import "fmt"
func main() {
  count := 0
  for {
    fmt.Println("Hello")
    count++
    if count == 10 {
      break
    }
  }
}
A9
B10
CInfinite times
D0
Attempts:
2 left
๐Ÿ’ก Hint
Look at how count changes and when the break happens.

Practice

(1/5)
1. What does the following Go code do?
for { }
easy
A. Runs an infinite loop that never stops
B. Runs a loop 10 times
C. Runs a loop only once
D. Causes a syntax error

Solution

  1. Step 1: Understand the loop syntax

    The code uses for { } which is Go's way to write an infinite loop without conditions.
  2. Step 2: Analyze loop behavior

    Since there is no break or condition, the loop runs forever without stopping.
  3. Final Answer:

    Runs an infinite loop that never stops -> Option A
  4. Quick Check:

    for { } means infinite loop [OK]
Hint: for { } always means infinite loop in Go [OK]
Common Mistakes:
  • Thinking it runs a fixed number of times
  • Assuming it causes a syntax error
  • Confusing with loops that have conditions
2. Which of the following is the correct syntax for an infinite loop in Go?
easy
A. for i := 0; i < 10; i++ { }
B. loop forever { }
C. for { }
D. while true { }

Solution

  1. Step 1: Review Go loop syntax

    Go does not have a while or loop keyword; infinite loops use for { }.
  2. Step 2: Identify correct infinite loop

    for { } uses for { }, which is the correct infinite loop syntax in Go.
  3. Final Answer:

    for { } -> Option C
  4. Quick Check:

    Go infinite loop syntax = for { } [OK]
Hint: Remember: Go uses for { } for infinite loops [OK]
Common Mistakes:
  • Using while or loop keywords (not in Go)
  • Confusing for loops with conditions as infinite
  • Syntax errors from invalid keywords
3. What will be the output of this Go program?
package main
import "fmt"
func main() {
  count := 0
  for {
    if count == 3 {
      break
    }
    fmt.Println(count)
    count++
  }
}
medium
A. 0 1 2
B. 0 1 2 3
C. Infinite printing of numbers
D. No output

Solution

  1. Step 1: Understand loop and break condition

    The loop runs infinitely but breaks when count equals 3.
  2. Step 2: Trace output values

    It prints count values 0, 1, 2 then breaks before printing 3.
  3. Final Answer:

    0 1 2 -> Option A
  4. Quick Check:

    Loop breaks at count==3, prints 0 to 2 [OK]
Hint: Break stops infinite loop at condition [OK]
Common Mistakes:
  • Expecting 3 to be printed
  • Thinking loop runs forever
  • Ignoring break statement
4. Identify the problem in this Go code that causes an infinite loop and fix it:
package main
import "fmt"
func main() {
  i := 0
  for i < 5 {
    fmt.Println(i)
  }
}
medium
A. Add break statement without increment
B. Change for to for { }
C. Remove the loop entirely
D. Add i++ inside the loop to increment i

Solution

  1. Step 1: Identify loop condition and variable

    The loop runs while i < 5 but i is never changed inside the loop.
  2. Step 2: Fix infinite loop by incrementing i

    Adding i++ inside the loop updates i, allowing the loop to end.
  3. Final Answer:

    Add i++ inside the loop to increment i -> Option D
  4. Quick Check:

    Increment loop variable to avoid infinite loop [OK]
Hint: Always update loop variable to prevent infinite loops [OK]
Common Mistakes:
  • Forgetting to increment loop variable
  • Adding break without changing i causes infinite loop
  • Changing loop to infinite loop syntax accidentally
5. How can you safely implement an infinite loop in Go that stops after 5 seconds?
hard
A. Use for i := 0; i < 5; i++ { }
B. Use for { } with time.After and break when 5 seconds pass
C. Use while true with a timer
D. Use for { } without any break or condition

Solution

  1. Step 1: Understand infinite loop with timeout

    Use for { } for infinite loop and time.After to wait 5 seconds.
  2. Step 2: Break loop after 5 seconds

    Inside loop, check if 5 seconds passed and use break to stop loop safely.
  3. Final Answer:

    Use for { } with time.After and break when 5 seconds pass -> Option B
  4. Quick Check:

    Infinite loop + timer + break = safe stop [OK]
Hint: Combine for { } with timer and break to stop [OK]
Common Mistakes:
  • Using invalid while syntax
  • Not breaking loop causes infinite run
  • Using fixed count loop instead of infinite
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