O que é a Condicional Encadeada no Go?

Olá, pessoal! Vamos dar continuidade ao nosso treinamento no canal Ralf Lima. Na aula anterior, vimos como tomar uma decisão simples com duas alternativas. Hoje, vamos aprender a trabalhar com a condicional encadeada.

Utilizamos a condicional encadeada quando o nosso programa precisa avaliar **múltiplas condições em sequência**. Em vez de apenas duas opções (verdadeiro ou falso), podemos criar vários caminhos possíveis utilizando a estrutura else if (senão se). O Go vai testando cada condição de cima para baixo e executa apenas o primeiro bloco que for verdadeiro.

Como funciona a estrutura Else If?

A estrutura analisa as condições em fila. Assim que uma delas é atendida, o Go executa o código correspondente e ignora todo o restante da estrutura. Veja o papel de cada parte na tabela abaixo:

Estrutura Regra de Execução
if Inicia a validação. É a primeira condição a ser testada.
else if Adiciona uma nova condição específica. Só é avaliada se todas as condições anteriores falharem.
else O caminho padrão (fallback). Só é executado se **nenhuma** das condições anteriores for verdadeira.

A importância da ordem das condições

Um ponto de muita atenção ao encadear condições é a **lógica de precedência**. No código de exemplo, nós começamos validando se a nota está fora dos limites permitidos (menor que 0 ou maior que 10). Fazer esse tipo de validação logo no início evita que o programa processe dados incorretos nas linhas seguintes.

Exemplo Prático Completo

Veja abaixo como fica o nosso código estruturado para classificar o desempenho de um aluno através de várias faixas de notas:

package main

import "fmt"

func main() {
    // Variável de média
    media := 11

    // Condicional encadeada
    if media > 10 || media < 0 {
        fmt.Println("Média inválida!")
    } else if media == 10 {
        fmt.Println("Excelente! Nota máxima!")
    } else if media >= 9 {
        fmt.Println("Ótimo!")
    } else if media >= 8 {
        fmt.Println("Bom!")
    } else if media >= 7 {
        fmt.Println("Na média!")
    } else if media >= 5 {
        fmt.Println("Em recuperação!")
    } else {
        fmt.Println("Reprovado(a)")
    }
}

Finalizamos os conteúdos desta aula sobre estruturas condicionais encadeadas. Espero que tenham compreendido como organizar múltiplos testes lógicos no Go. Em caso de dúvidas, comentem nos vídeos disponíveis no YouTube.