Bird
Raised Fist0
Goprogramming~5 mins

For loop as while in Go - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does a 'for' loop without initialization and post statements act like in Go?
It acts like a 'while' loop, running as long as the condition is true.
Click to reveal answer
beginner
How do you write a 'while' loop in Go using a 'for' loop?
Use 'for' with only a condition, like:
for condition {
    // code
}
Click to reveal answer
intermediate
Why does Go not have a separate 'while' keyword?
Because the 'for' loop is flexible enough to act as a 'while' loop by omitting init and post statements.
Click to reveal answer
beginner
Example: What will this Go code print?
i := 0
for i < 3 {
    fmt.Println(i)
    i++
}
It will print:
0
1
2
Because the loop runs while i is less than 3, increasing i each time.
Click to reveal answer
intermediate
Can you use 'break' and 'continue' inside a 'for' loop acting as a 'while' loop in Go?
Yes, 'break' stops the loop early, and 'continue' skips to the next iteration, just like in other loops.
Click to reveal answer
In Go, how do you write a loop that behaves like a 'while' loop?
Arepeat { /* code */ } until condition
Bfor condition { /* code */ }
Cloop condition { /* code */ }
Dwhile condition { /* code */ }
What happens if you write 'for {}' in Go?
ALoop runs once
BSyntax error
CInfinite loop
DLoop runs zero times
Which part is missing in a 'for' loop acting as a 'while' loop?
AInitialization and post statements
BCondition
CLoop body
DSemicolon
Can you use 'continue' inside a 'for' loop used as a 'while' loop in Go?
AYes
BNo
COnly with a label
DOnly in Go 1.18+
What will this code print?
i := 5
for i > 0 {
fmt.Println(i)
i--
}
A0 1 2 3 4
B1 2 3 4 5
CNo output
D5 4 3 2 1
Explain how to use a 'for' loop as a 'while' loop in Go and why Go uses this approach.
Think about what parts of a for loop you keep or remove to make it behave like while.
You got /4 concepts.
    Write a Go code snippet that uses a 'for' loop as a 'while' loop to print numbers from 1 to 5.
    Start with i=1, loop while i <= 5, print i, then increase i.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following is the correct way to write a while loop in Go using a for loop?
      easy
      A. for i < 5 { i++ }
      B. while i < 5 { i++ }
      C. for (i < 5) { i++ }
      D. loop i < 5 { i++ }

      Solution

      1. Step 1: Understand Go's while loop syntax

        Go uses for condition { } to act like a while loop.
      2. Step 2: Identify the correct syntax

        for i < 5 { i++ } uses for i < 5 { i++ }, which is valid Go syntax for a while loop.
      3. Final Answer:

        for i < 5 { i++ } -> Option A
      4. Quick Check:

        Go while loop = for condition { } [OK]
      Hint: Remember: Go uses 'for' with condition as while loop [OK]
      Common Mistakes:
      • Using 'while' keyword which Go does not support
      • Adding parentheses around the condition unnecessarily
      • Using 'loop' keyword which is invalid in Go
      2. Which of the following Go code snippets correctly uses a for loop as a while loop to print numbers from 1 to 3?
      easy
      A. i := 1 for i <= 3 { fmt.Println(i) i++ }
      B. i := 1 for (i <= 3) { fmt.Println(i) i++ }
      C. i := 1 for i < 3 { fmt.Println(i) i++ }
      D. i := 1 while i <= 3 { fmt.Println(i) i++ }

      Solution

      1. Step 1: Check syntax for Go while loop

        Go uses for condition { } without parentheses around condition.
      2. Step 2: Verify loop condition and output

        i := 1 for i <= 3 { fmt.Println(i) i++ } uses i <= 3 and increments i, printing 1, 2, 3 correctly.
      3. Final Answer:

        i := 1 for i <= 3 { fmt.Println(i) i++ } -> Option A
      4. Quick Check:

        Correct Go while loop syntax = i := 1 for i <= 3 { fmt.Println(i) i++ } [OK]
      Hint: No parentheses needed around condition in Go for loop [OK]
      Common Mistakes:
      • Using 'while' keyword which is invalid in Go
      • Using '<' instead of '<=' causing missing last number
      • Adding parentheses around condition causing syntax error
      3. What will be the output of the following Go code?
      i := 0
      for i < 3 {
          fmt.Print(i, " ")
          i++
      }
      medium
      A. 1 2 3
      B. 0 1 2
      C. 0 1 2 3
      D. 1 2

      Solution

      1. Step 1: Analyze loop condition and initial value

        Variable i starts at 0 and loop runs while i < 3.
      2. Step 2: Trace loop iterations and output

        i prints 0, then increments to 1; prints 1, increments to 2; prints 2, increments to 3; loop stops.
      3. Final Answer:

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

        Loop prints 0 to 2 with spaces [OK]
      Hint: Loop runs while condition true, stops when false [OK]
      Common Mistakes:
      • Assuming loop includes i=3 output
      • Starting i from 1 instead of 0
      • Forgetting to increment i causing infinite loop
      4. Identify the error in the following Go code that tries to use a for loop as a while loop:
      i := 0
      for i < 3 {
          fmt.Println(i)
      }
      medium
      A. Variable i should be declared inside the loop
      B. Incorrect loop condition syntax
      C. Using fmt.Println instead of fmt.Print
      D. Missing increment of i inside the loop causing infinite loop

      Solution

      1. Step 1: Check loop condition and body

        The loop condition is valid, but i is never changed inside the loop.
      2. Step 2: Understand consequences of missing increment

        Without incrementing i, the condition i < 3 remains true forever, causing an infinite loop.
      3. Final Answer:

        Missing increment of i inside the loop causing infinite loop -> Option D
      4. Quick Check:

        Change loop variable inside loop to avoid infinite loop [OK]
      Hint: Always update loop variable inside for-as-while loop [OK]
      Common Mistakes:
      • Forgetting to increment or change loop variable
      • Thinking fmt.Println causes error
      • Declaring variable inside loop unnecessarily
      5. You want to use a for loop as a while loop in Go to read user input until the user types "exit". Which code snippet correctly implements this?
      hard
      A. var input string for input != "exit" { fmt.Print("Enter text: ") fmt.Scanln(&input) }
      B. var input string for input == "exit" { fmt.Print("Enter text: ") fmt.Scanln(&input) }
      C. var input string for { fmt.Print("Enter text: ") fmt.Scanln(&input) if input == "exit" { break } }
      D. var input string while input != "exit" { fmt.Print("Enter text: ") fmt.Scanln(&input) }

      Solution

      1. Step 1: Understand the loop condition for reading input

        We want to keep reading until input equals "exit".
      2. Step 2: Analyze options for correct loop behavior

        var input string for { fmt.Print("Enter text: ") fmt.Scanln(&input) if input == "exit" { break } } uses an infinite loop with a break when input is "exit", which is safe and common in Go.
      3. Step 3: Why other options fail

        var input string for input != "exit" { fmt.Print("Enter text: ") fmt.Scanln(&input) } uses input before reading it, so loop condition is false initially (empty string != "exit" is true, but input is empty initially). var input string for input == "exit" { fmt.Print("Enter text: ") fmt.Scanln(&input) } loops only if input == "exit" which is opposite. var input string while input != "exit" { fmt.Print("Enter text: ") fmt.Scanln(&input) } uses invalid 'while' keyword.
      4. Final Answer:

        Use infinite for loop with break on "exit" input -> Option C
      5. Quick Check:

        Use for { ... if condition { break } } for while loops with input [OK]
      Hint: Use infinite loop with break for input-based while loops [OK]
      Common Mistakes:
      • Using 'while' keyword which is invalid in Go
      • Checking condition before first input read
      • Using wrong loop condition causing no input read
      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