Bird
Raised Fist0
Goprogramming~5 mins

Infinite loops in Go

Choose your learning style10 modes available
Introduction

Infinite loops run forever until you stop them. They are useful when you want a program to keep working without stopping.

When you want a program to keep checking for new messages or data.
When you build a game that runs continuously until the player quits.
When you want a server to keep listening for requests all the time.
When you want to repeat an action until you manually stop it.
Syntax
Go
for {
    // code to repeat forever
}

The for keyword with empty conditions creates an infinite loop.

You can stop the loop using break or by stopping the program.

Examples
This prints "Hello" once and then stops because of break.
Go
for {
    println("Hello")
    break // stops after one print
}
This loop runs forever until the program is stopped.
Go
for {
    // do something forever
}
Sample Program

This program runs an infinite loop but stops after counting to 3 using break. It prints the count every half second.

Go
package main

import (
    "fmt"
    "time"
)

func main() {
    count := 0
    for {
        fmt.Println("Loop count:", count)
        count++
        if count >= 3 {
            fmt.Println("Stopping loop")
            break
        }
        time.Sleep(500 * time.Millisecond) // wait half a second
    }
}
OutputSuccess
Important Notes

Infinite loops can freeze your program if you don't stop them properly.

Use break inside the loop to exit when needed.

Adding a small delay like time.Sleep can prevent high CPU usage.

Summary

Infinite loops run forever unless stopped.

Use for { } in Go to create an infinite loop.

Always plan how to stop or control infinite loops to avoid problems.

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