Bird
Raised Fist0
Goprogramming~20 mins

For loop basics in Go - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
๐ŸŽ–๏ธ
For Loop Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
2:00remaining
Output of a simple for loop with continue
What is the output of this Go program?
Go
package main
import "fmt"
func main() {
    for i := 0; i < 5; i++ {
        if i == 2 {
            continue
        }
        fmt.Print(i)
    }
}
A01234
B0134
C0123
D1234
Attempts:
2 left
๐Ÿ’ก Hint
Remember that continue skips the current loop iteration.
โ“ Predict Output
intermediate
2:00remaining
For loop with range over slice
What will this Go program print?
Go
package main
import "fmt"
func main() {
    nums := []int{10, 20, 30}
    sum := 0
    for _, v := range nums {
        sum += v
    }
    fmt.Println(sum)
}
A60
B0
C10
D30
Attempts:
2 left
๐Ÿ’ก Hint
The loop adds all numbers in the slice.
๐Ÿ”ง Debug
advanced
2:00remaining
Identify the error in this for loop
What error will this Go code produce when compiled?
Go
package main
func main() {
    for i := 0; i < 5; i++ {
        println(i)
    }
}
ANo error, prints 0 1 2 3 4
BRuntime error: index out of range
CSyntax error: missing braces for for loop body
DSyntax error: unexpected semicolon
Attempts:
2 left
๐Ÿ’ก Hint
Check the syntax rules for for loops in Go.
โ“ Predict Output
advanced
2:00remaining
Nested for loops output
What does this Go program print?
Go
package main
import "fmt"
func main() {
    for i := 1; i <= 2; i++ {
        for j := 1; j <= 3; j++ {
            fmt.Print(i * j)
        }
    }
}
A123246
B123456
C112233
D136236
Attempts:
2 left
๐Ÿ’ก Hint
Multiply i and j for each iteration and print without spaces.
โ“ Predict Output
expert
2:00remaining
For loop with break and label
What is the output of this Go program?
Go
package main
import "fmt"
func main() {
Outer:
    for i := 1; i <= 3; i++ {
        for j := 1; j <= 3; j++ {
            if i*j >= 4 {
                break Outer
            }
            fmt.Print(i, j, " ")
        }
    }
}
A11 12 21
B1 1 1 2 2 1
C11 12 13
D11 12 13 21
Attempts:
2 left
๐Ÿ’ก Hint
The break with label stops both loops when i*j >= 4.

Practice

(1/5)
1. What does a for loop do in Go programming?
easy
A. Stops the program immediately
B. Imports a package
C. Defines a new variable
D. Repeats a block of code while a condition is true

Solution

  1. Step 1: Understand the purpose of a for loop

    A for loop is used to repeat code multiple times based on a condition.
  2. Step 2: Identify the correct description

    Only Repeats a block of code while a condition is true correctly describes repeating code while a condition is true.
  3. Final Answer:

    Repeats a block of code while a condition is true -> Option D
  4. Quick Check:

    For loop = Repeat code [OK]
Hint: For loops repeat code while condition is true [OK]
Common Mistakes:
  • Thinking for loop stops program
  • Confusing for loop with variable declaration
  • Mixing for loop with import statements
2. Which of the following is the correct syntax for a basic for loop in Go?
easy
A. for i := 0; i < 5; i++ { }
B. for (i = 0; i < 5; i++) { }
C. for i in range(5) { }
D. loop i from 0 to 5 { }

Solution

  1. Step 1: Recall Go for loop syntax

    Go uses for init; condition; post { } syntax without parentheses.
  2. Step 2: Compare options

    for i := 0; i < 5; i++ { } matches Go syntax exactly. Options B, C, and D use other languages or invalid syntax.
  3. Final Answer:

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

    Go for loop = for init; condition; post [OK]
Hint: Go for loops use semicolons, no parentheses [OK]
Common Mistakes:
  • Using parentheses like in C or Java
  • Using Python-style for-in loops
  • Writing 'loop' instead of 'for'
3. What is the output of this Go code?
for i := 1; i <= 3; i++ {
    fmt.Print(i, " ")
}
medium
A. 1 2 3
B. 0 1 2 3
C. 1 2 3 4
D. Syntax error

Solution

  1. Step 1: Analyze loop range and output

    The loop starts at i=1 and runs while i <= 3, so i takes values 1, 2, 3.
  2. Step 2: Understand print output

    Each iteration prints i followed by a space, so output is "1 2 3 "
  3. Final Answer:

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

    Loop prints 1 to 3 with spaces [OK]
Hint: Check loop start, end, and print inside loop [OK]
Common Mistakes:
  • Starting loop at 0 instead of 1
  • Including extra number beyond 3
  • Confusing print with println
4. Identify the error in this Go for loop:
for i := 0; i < 5 i++ {
    fmt.Println(i)
}
medium
A. Using := instead of = for i
B. Missing semicolon between condition and post statement
C. Using parentheses around for loop
D. Missing curly braces

Solution

  1. Step 1: Check for loop syntax parts

    Go requires semicolons between init, condition, and post parts in for loops.
  2. Step 2: Locate missing semicolon

    The code misses a semicolon between i < 5 and i++.
  3. Final Answer:

    Missing semicolon between condition and post statement -> Option B
  4. Quick Check:

    For loop parts separated by semicolons [OK]
Hint: Check semicolons between for loop parts [OK]
Common Mistakes:
  • Omitting semicolons in for loop header
  • Confusing := with = in loop variable
  • Forgetting curly braces
5. How can you use a for loop in Go to sum all even numbers from 2 to 10 inclusive?
hard
A. for i := 2; i < 10; i += 2 { sum += i }
B. for i := 0; i <= 10; i += 2 { sum += i }
C. for i := 1; i <= 10; i++ { if i%2 == 0 { sum += i } }
D. for i := 2; i < 10; i++ { sum += i*2 }

Solution

  1. Step 1: Understand the goal

    We want to add even numbers from 2 to 10 inclusive.
  2. Step 2: Analyze each option

    for i := 2; i < 10; i += 2 { sum += i } increments by 2 starting at 2, but i < 10 so sums only 2+4+6+8 (misses 10).
    for i := 1; i <= 10; i++ { if i%2 == 0 { sum += i } } loops from 1 to 10, checks if number is even, then adds it. This is correct and clear.
    for i := 2; i < 10; i++ { sum += i*2 } incorrectly multiplies i by 2 and sums, which is wrong.
    for i := 0; i <= 10; i += 2 { sum += i } starts at 0, which includes 0 in sum, not desired.
  3. Final Answer:

    for i := 1; i <= 10; i++ { if i%2 == 0 { sum += i } } -> Option C
  4. Quick Check:

    Check even with modulo inside loop [OK]
Hint: Use modulo to check even numbers inside loop [OK]
Common Mistakes:
  • Starting loop at 0 including unwanted numbers
  • Multiplying instead of checking evenness
  • Forgetting to check condition inside loop
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