Go for loops

Rodrigo Ancavil
1 min readAug 13, 2023

--

Go uses the keyword for to execute loops. In Go doesn’t exist while loops (the keyword while doesn’t exist), we have to use a for to create a while loop.

Go basics

package main

import "fmt"

const MAX = 10

func main() {
for i := 0; i < MAX; i++ {
fmt.Printf("i = %d\n", i)
}
}

Using range. The range allows getting from an array or slices the index and their value.

package main

import "fmt"

const MAX = 10

func main() {
arr := [MAX]int{1,2,3,4,5,6,7,8,9,10}
slc := []float64{2.1, 2.4, 1.5, 4.4, 10.1, 234.1}
alphabet := "ABCDEFGHIJKLMNOPQRSTUVWXYZ"


fmt.Println("For Array:")
for index, value := range arr {
fmt.Printf("arr[%d] = %v\n", index, value)
}
fmt.Println("For Slice:")
for index, value := range slc {
fmt.Printf("slc[%d] = %v\n", index, value)
}

fmt.Println("For a string (alphabet):")
for index, c := range alphabet {
fmt.Printf("%d - %c\n", index, c)
}

}

While looping in Go.

package main

import "fmt"

const MAX = 10

func main() {
arr := [MAX]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
i := 0
for i < MAX {
fmt.Printf("arr[%d] = %d\n", i, arr[i])
i++
}
i = 0
for {
if i >= MAX {
break
}
fmt.Printf("arr[%d] = %d\n", i, arr[i])
i++
}
}

Example: Playing with a matrix.

package main

import "fmt"

const MAX = 5

func main() {
matrix := [MAX][MAX]int{
{1,0,0,0,0},
{0,1,0,0,0},
{0,0,1,0,0},
{0,0,0,1,0},
{0,0,0,0,1},
}
for i, j := 0, 0; i < MAX && j < MAX; i, j = i+1, j+1 {
fmt.Println(i, j, matrix[i][j])
}

}

--

--

Rodrigo Ancavil
Rodrigo Ancavil

Written by Rodrigo Ancavil

IT Architect and Software Engineer

No responses yet