Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Entender o comando for
  2. Entender o comando for como while
  3. Entender o comando for como foreach
  4. Entender o comando de parada break
  5. Entender o comando de parada continue
  6. Entender comando aninhados

Para executarmos um bloco de código em nosso programas várias vezes, utilizamos o comando de repetição for disponibilizadp pela linguagem Go. Esse comando possui sintaxe flexível que como ser utilizada como while e foreach.

Os comandos de repetição bem como o seus funcionamentos já foram discutidos em Portugal: Comandos de Repetição sendo a leitura recomendada.

Quando temos conhecimento de quantas vezes queremos executar um trecho de código, utilizamos o comando for como pode ser visto na sintaxe abaixo:

Fig. 1: Comando for
Sintaxe
for inicialização ; condição ; atualização
{
  //seu codigo aqui
}
Onde

inicialização: bloco para iniciar variável.
condição: condição para que a repetição seja executada.
atualização: atualização de variável utilizada em inicialização.

Assim como o comando if o uso de () no comando for é opcional.

Exemplo 1
package main
import "fmt"

func main() {
	var valor uint8
	for valor = 0; valor < 3 ; valor++ {
	       fmt.Printf("for declarado como for\n")
	}
}
Saída
for declarado como for
for declarado como for
for declarado como for

A condição vista anteriormente podem conter mais uma condição utilizando os operadores relacionais e lógicos vistos em Operadores.

Exemplo 2
package main
import "fmt"

func main() {
	var i, j uint8
	for i = 0; i < 3 || j < 3; i++ {
		fmt.Printf("for declarado como for\n")
		j++
	}
}
Saída
for declarado como for
for declarado como for
for declarado como for

A linguagem Go suporta a declaração de variável dentro do bloco inicialização como mostrado no exemplo abaixo:

Exemplo 3
package main
import "fmt"

func main() {
	var j uint8
	for i := 0; i < 3 || j < 3; i++ {
		fmt.Printf("for declarado como for\n")
		j++
	}
}
Saída
for declarado como for
for declarado como for
for declarado como for

A linguagem Go não possui o comando while. Para utilizarmos esse comando, utilizamos o comando for removendo os trechos inicialização e atualização como pode ser visto na sintaxe abaixo:

Fig. 3: for como while
Sintaxe
for condição {
    //seu trecho de código aqui
}
Onde

condição: condição para que a repetição seja executada.
Exemplo 4
package main
import "fmt"

func main() {
	valor := 0
	for valor < 3 {
		valor++
		fmt.Printf("for declarado como while\n")
	}
}
Saída
for declarado como while
for declarado como while
for declarado como while

A linguagem Go não possui o comando foreach como em linguagens como C++, Java e Outros. Porém, o comando for pode ser utilizado em conjunto do comando range:

O comando foreach executa um bloco de código para todos os elementos de uma coleção realizando internamente as condições e atualizações para a execução de todos os laços necessários.

Fig. 3: for como foreach
Sintaxe
for indice,elemento := range colecao { /*bloco de código*/ }
for indice := range colecao /*bloco de código*/
for _, elemento := range colecao /*bloco de código*/
Onde

indice: índice do elemento iterado
elemento: elemento iterado
colecao: vetor, slice e semelhantes
_: Identificador blank utilizado para descartar valores retornados

O identificador blank será melhor visto em Funções não sendo necessário conhecer seu uso no momento.

Exemplo 5
package main
import "fmt"

func main() {

	vetor := [3]string{"um", "dois", "tres"}

	for _, el := range vetor {
		fmt.Println(el)
	}
}
Saída
um
dois
tres

A linguagem de programação Go fornece os comandos de paradada break e continue. Nesta parte do tutorial vamos aprender esses comandos.

Para parar a execução de um comando de repetição como for, por exemplo, utilizamos o comando break:

Sintaxe
break

Quando a linha de código contendo break é executada, o fluxo de execução do comando de repetição é interrompido e o fluxo de execução continua após o fim do bloco de comando de repetição onde foi declarado.

Exemplo 6
package main

import "fmt"

func main() {
	valor := 0
	for valor < 5 {
		if valor == 2 {
			break
		}
		fmt.Printf("%d\n",valor)
		valor++
	}
}
Saída
0
1

O comando break pode ser utilizado dentro dos comandos de loop como for ou switch.

Para pularmos a execução de apenas um laço/loop do comando de repetição for, por exemplo, utilizamos o comando continue:

Sintaxe
continue

Quando a linha de código contendo continue é executada, o fluxo de execução do laço atual é parada. Então o fluxo de execução é desviado para o início do próximo laço ou loop.

Exemplo 7
package main
import "fmt"

func main() {
	valor := 0
	for valor < 5 {
		if valor == 2 {
			valor++
			continue
		} else {
			fmt.Printf("%d\n", valor)
		}
		valor++
	}
}
Saída
0
1
3
4

O comando continue só pode ser usado dentro dos comandos comandos de repetição for.

  1. 16/09/2024 - revisão 2 - Correção em link Portugol; ajustes gramaticais
  2. 02/10/2023 - revisão 1 - Correção em referências, erros gramaticais, remoção de texto lixo e adição de fluxogramas
  3. 21/08/2023 - versão inicial