DEV Community

Romulo Gatto
Romulo Gatto

Posted on

Loops in Go (for and while)

Loops in Go (for and while)

Loops play a crucial role in programming as they allow us to repeat a block of code multiple times. In Go, we have two main types of loops: for and while. This guide will explore how to use both types effectively in your Go programs.

The 'for' Loop

The for loop is the most commonly used loop type in Go. It allows you to iterate over a sequence of elements or repeat a set of statements until a specific condition is met.

Here's the basic syntax for the for loop:

for initialization; condition; post {
    // Statements to be executed within the loop
}
Enter fullscreen mode Exit fullscreen mode

The initialization step initializes any variables or expressions required for the loop. The condition evaluates whether to continue iterating or break out of the loop. The posted statement updates any state needed after each iteration.

Example:

Let's say we want to print numbers from 1 to 5 using a for loop:

package main

import "fmt"

func main() {
    for i := 1; i <= 5; i++ {
        fmt.Println(i)
    }
}
Enter fullscreen mode Exit fullscreen mode

Output:

1
2
3
4
5
Enter fullscreen mode Exit fullscreen mode

In this example, we initialize i with 1, set our condition as long as i <= 5, and increment i by one after each iteration.

The 'while' Loop

Unlike some other programming languages, Go does not provide an explicit 'while' construct. However, we can achieve similar functionality using only the for loop itself.

Go's equivalent of a 'while' loop looks like this:

condition := true   // Initialize condition outside the loop

for condition {
    // Statements to be executed within the while-like block

    if terminationCondition {
        condition = false   // Set the condition to exit the 'while' loop
    }
}
Enter fullscreen mode Exit fullscreen mode

Here's an example demonstrating how we can use a 'while' loop in Go:

package main

import "fmt"

func main() {
    counter := 0

    for counter < 5 {
        fmt.Println(counter)
        counter++
    }
}
Enter fullscreen mode Exit fullscreen mode

Output:

0
1
2
3
4
Enter fullscreen mode Exit fullscreen mode

In this example, we initialize counter as 0 and set our termination condition as long as counter < 5. Inside the loop, we increment the value of counter by one after each iteration.

Conclusion

Loops are essential tools for iterating or repeating blocks of code. In Go, we have two primary types of loops: for and equivalent constructs for a 'while' loop. Understanding how to use these loops effectively will enable you to write more efficient code and improve your programming skills in Go.

Top comments (0)