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

  1. Entender o comando if
  2. Entender o comando if-else
  3. Entender o comando if-else-if
  4. Entender comando aninhados

Em relação a comandos de decisão, a linguagem Go possui os seguintes comandos: if, if-else, if-else-if. Nesta parte do tutorial vamos estudar esses comandos.

Os comandos de decisão bem como os seus funcionamentos já foram discutidos em Portugal: Comandos de Decisão sendo a leitura recomendada.

Quando precisamos fazer uma validação ou teste para executar apenas um trecho de código em nossos programas em Go, utilizamos o comando if:

Fig. 1: Comando se
Sintaxe
if condição {
 //trecho de código
}
Onde
condição: condição ou expressão testada

O uso de () é opcional caso o comando if contenha apenas uma expressão para validação. Por boa prática, é aconselhado o uso para facilitar a leitura ou evitar erros de precedência de operadores.

Exemplo 1
package main
import "fmt"

func main() {
	valor := false
	valor2 := 100

	if valor == false {
		fmt.Printf("valor == false\n")
	}
}
Saída
valor == false
valor2 == 100

A condição pode ser composta de um ou mais variáveis , expressões ou funções. Os operadores relacionais e lógicos são utilizados em conjunto na tomada de decisões, por exemplo.

Exemplo 2
package main
import "fmt"

func main() {
	valor := false
	valor2 := 100

	if valor == false || valor2 == 100 {
		fmt.Printf("valor2 == 100")
	}
}
Saída
valor2 == 100

No exemplo anterior, ao validar uma condição executamos um trecho de código caso a condição seja verdadeira. Caso seja necessário executar um trecho de código quanto uma condição for falsa utilizamos o comando if-else.

Fig. 2: Comando if-else
Sintaxe
if condicao
{
  //se condicao == true
  //trecho de código será executado
}
else
{
  //se condicao == false
  //trecho de código será executado
}
Exemplo 3
package main
import "fmt"

func main() {
	valor := false
	valor2 := 100

	if valor == true {
	   fmt.Printf("true")
	}
	else{
	   fmt.Printf("false")	
	}
}
Saída
false

Quando é necessário realizar validações em cascata, podemos utilizar o comando if-else-if fornecido pela linguagem Go.

Fig. 3: Comando if-elseif
Sintaxe
if condicao1
{
  //se condicao1 == true
  //trecho de código será executado
}
else if condicao2
{
  //se condicao2 == true
  //trecho de código será executado
}
else if condicao3
{
  //se condicao == true
  //trecho de código será executado
}
else
{
 //condicao1, condicao2, condicao3 == false
 //esse trecho de código será executado
}
Exemplo 5
package main
import "fmt"

func main() {
	var a int = 1

	if a == 1 {
		fmt.Printf("== 1")

	} else if a < 1 {
		fmt.Printf("< 1")

	} else {
		fmt.Printf("> 1")
	}
}
Saída
== 1
  1. 16/09/2024 - revisão 2 - Correção em links Portugol; ajustes gramaticais
  2. 02/10/2023 - revisão 1 - Correção em referências, erros gramaticais e adição de fluxogramas
  3. 21/08/2023 - versão inicial