Bird
Raised Fist0
Goprogramming~10 mins

Infinite loops in Go - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create an infinite loop that prints "Hello" repeatedly.

Go
package main

import "fmt"

func main() {
    for [1] {
        fmt.Println("Hello")
    }
}
Drag options to blanks, or click blank then click option'
Atrue
Bfalse
Ci < 5
Di == 0
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using a condition that becomes false eventually, so the loop stops.
Using false which never runs the loop.
2fill in blank
medium

Complete the code to create an infinite loop using the classic for loop syntax.

Go
package main

import "fmt"

func main() {
    for [1] {
        fmt.Println("Looping forever")
    }
}
Drag options to blanks, or click blank then click option'
Ai := 0; i < 10; i++
Bi == 0
Ci < 5
D;;
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Putting a condition that eventually becomes false.
Using a normal for loop with limits.
3fill in blank
hard

Fix the error in the infinite loop code so it compiles and runs correctly.

Go
package main

import "fmt"

func main() {
    for [1] {
        fmt.Println("Running")
    }
}
Drag options to blanks, or click blank then click option'
A1 == 1
BTrue
Ctrue
Dfor
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using uppercase True instead of lowercase true.
Putting for inside the loop condition.
4fill in blank
hard

Fill both blanks to create an infinite loop that prints numbers starting from 1.

Go
package main

import "fmt"

func main() {
    i := 1
    for [1] {
        fmt.Println(i)
        i[2]
    }
}
Drag options to blanks, or click blank then click option'
Atrue
B++
C+=
D--
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using ++ which is a statement, not an expression.
Using -- which decreases the number.
5fill in blank
hard

Fill all three blanks to create an infinite loop that prints "Go!" every second.

Go
package main

import (
    "fmt"
    "time"
)

func main() {
    for [1] {
        fmt.Println([2])
        time.Sleep([3])
    }
}
Drag options to blanks, or click blank then click option'
Atrue
B"Go!"
Ctime.Second
Dfalse
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using false which stops the loop immediately.
Forgetting to import time package.
Using a string without quotes.

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