Bird
Raised Fist0
Goprogramming~5 mins

Loop execution flow in Go

Choose your learning style10 modes available
Introduction

Loops help repeat actions many times without writing the same code again and again.

When you want to print numbers from 1 to 10.
When you need to check each item in a list one by one.
When you want to keep asking a user for input until they give a valid answer.
When you want to repeat a task until a condition changes.
When you want to process data step by step automatically.
Syntax
Go
for initialization; condition; post {
    // code to repeat
}

The for loop is the only loop in Go and can work like a while or do-while loop.

The loop runs as long as the condition is true.

Examples
This loop prints numbers 0 to 4.
Go
for i := 0; i < 5; i++ {
    fmt.Println(i)
}
This loop uses only a condition and repeats while i is less than 3.
Go
i := 0
for i < 3 {
    fmt.Println(i)
    i++
}
This is an infinite loop that stops immediately because of break.
Go
for {
    fmt.Println("Hello")
    break
}
Sample Program

This program prints numbers from 1 to 5 using a for loop.

Go
package main

import "fmt"

func main() {
    for i := 1; i <= 5; i++ {
        fmt.Printf("Number: %d\n", i)
    }
}
OutputSuccess
Important Notes

You can use break to stop the loop early.

Use continue to skip the current loop step and move to the next.

Loops help avoid repeating code and make programs shorter and easier to read.

Summary

Loops repeat code while a condition is true.

Go uses only the for loop for all looping needs.

You can control loop flow with break and continue.

Practice

(1/5)
1. What is the main purpose of a for loop in Go?
easy
A. To handle errors
B. To define a new variable
C. To repeat a block of code while a condition is true
D. To declare a function

Solution

  1. Step 1: Understand the role of loops

    Loops are used to repeat actions multiple times based on a condition.
  2. Step 2: Identify the purpose of for in Go

    In Go, the for loop is the only loop and repeats code while a condition holds true.
  3. Final Answer:

    To repeat a block of code while a condition is true -> Option C
  4. Quick Check:

    Loop = repeat code [OK]
Hint: Loops repeat code while condition true [OK]
Common Mistakes:
  • Confusing loops with variable declarations
  • Thinking loops handle errors
  • Mixing loops with function declarations
2. Which of the following is the correct syntax for a basic for loop in Go that runs 3 times?
easy
A. for i := 0; i < 3; i++
B. for (i = 0; i < 3; i++) { }
C. for i = 0; i < 3; i++ { }
D. for i := 0; i < 3; i++ { }

Solution

  1. Step 1: Check Go loop syntax

    Go requires initialization with :=, condition, and post statement inside parentheses without extra parentheses around the whole for.
  2. Step 2: Validate each option

    for i := 0; i < 3; i++ { } uses correct syntax: for i := 0; i < 3; i++ { }. Options B and C have wrong parentheses or missing :=. for i := 0; i < 3; i++ misses braces.
  3. Final Answer:

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

    Correct Go for loop syntax = for i := 0; i < 3; i++ { } [OK]
Hint: Use := for init, semicolons, braces for loop [OK]
Common Mistakes:
  • Using parentheses like C/Java
  • Missing := for variable declaration
  • Omitting braces {}
3. What will be the output of this Go code?
for i := 1; i <= 3; i++ {
    if i == 2 {
        continue
    }
    fmt.Print(i)
}
medium
A. 13
B. 12
C. 123
D. 23

Solution

  1. Step 1: Understand the loop and continue

    The loop runs i from 1 to 3. When i equals 2, continue skips printing.
  2. Step 2: Trace output for each i

    i=1 prints '1', i=2 skips print, i=3 prints '3'. Output is '13'.
  3. Final Answer:

    13 -> Option A
  4. Quick Check:

    Continue skips i=2 print = 13 [OK]
Hint: Continue skips current iteration print [OK]
Common Mistakes:
  • Assuming continue prints the skipped value
  • Confusing continue with break
  • Ignoring loop condition
4. Identify the error in this Go loop code:
for i := 0; i < 5; i++
    fmt.Println(i)
medium
A. Missing braces {} around loop body
B. Incorrect loop condition
C. Variable i not declared
D. Using println instead of Println

Solution

  1. Step 1: Check Go loop syntax rules

    Go requires braces {} to define the loop body even if it is one statement.
  2. Step 2: Identify missing braces

    The code lacks braces around fmt.Println(i), causing a syntax error.
  3. Final Answer:

    Missing braces {} around loop body -> Option A
  4. Quick Check:

    Braces required for loop body [OK]
Hint: Always use braces {} for loop body [OK]
Common Mistakes:
  • Omitting braces for single statement
  • Misreading error as variable issue
  • Confusing println with Println
5. Given this Go code, what will be the output?
sum := 0
for i := 1; i <= 5; i++ {
    if i%2 == 0 {
        continue
    }
    if sum > 5 {
        break
    }
    sum += i
}
fmt.Println(sum)
hard
A. 6
B. 9
C. 10
D. 5

Solution

  1. Step 1: Trace loop with continue and break

    Loop i=1 to 5, skip even i (2,4). Add odd i to sum until sum > 5, then break.
  2. Step 2: Calculate sum step-by-step

    i=1 (odd): sum=0+1=1
    i=2 (even): continue, skip
    i=3 (odd): sum=1+3=4
    i=4 (even): continue, skip
    i=5 (odd): sum=4+5=9 but before adding, sum=4 which is not >5, so add 5 sum=9. Now sum >5, break after this iteration.
  3. Step 3: Check when break occurs

    Break happens after sum=9, but condition checks sum >5 before adding i=5, so sum was 4 before adding 5. Actually, break triggers only if sum >5 before adding i.
  4. Step 4: Correct calculation

    At i=5, sum=4 (not >5), so add 5 sum=9. Next iteration would be i=6 (loop ends). So break never triggers because sum >5 check is before adding i.
  5. Final Answer:

    9 -> Option B
  6. Quick Check:

    Sum after adding odd numbers until break = 9 [OK]
Hint: Check continue and break order carefully [OK]
Common Mistakes:
  • Adding after break condition incorrectly
  • Ignoring continue skipping even numbers
  • Misunderstanding break timing
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