Iniciante Fundamentos

Laços for

Em Go existe apenas um laço de repetição: o for. Mas ele tem várias formas.

For clássico

Com inicialização, condição e incremento:

for i := 0; i < 5; i++ {
	fmt.Println(i) // 0 1 2 3 4
}

For como while

Só com a condição, funciona como o while de outras linguagens:

n := 1
for n <= 3 {
	fmt.Println(n)
	n++
}

For infinito

Sem condição, repete para sempre (use break para sair):

contador := 0
for {
	if contador == 3 {
		break
	}
	contador++
}

For com range

Percorre coleções como slices, arrays e maps:

frutas := []string{"maçã", "banana", "uva"}
for indice, fruta := range frutas {
	fmt.Println(indice, fruta)
}

Use _ para ignorar o índice:

for _, fruta := range frutas {
	fmt.Println(fruta)
}

Resumo

  • O for é o único laço do Go.
  • Pode agir como while ou laço infinito.
  • range percorre coleções de forma simples.