Capítulo 03: Estrutura Condicional 🍃🍥

Neste capítulo, vamos aprender a fazer o programa tomar decisões usando a estrutura if e o switch do Go, com o tema Naruto!


📖 O que é Estrutura Condicional?

É quando o programa precisa testar uma condição e seguir caminhos diferentes dependendo do resultado. No Go, não usamos parênteses () nas condições do if!


📖 Exemplo Guiado: Teste Chunin

Vamos criar um programa que avalia se um ninja passou no teste escrito do Exame Chunin (precisa de nota 7 ou mais).

  1. Crie o arquivo teste_chunin.go na pasta src/:
package main
 
import "fmt"
 
func main() {
    nota := 8.5
 
    fmt.Println("Nota do ninja:", nota)
 
    // Repare que não usamos parênteses na condição!
    if nota >= 7.0 {
        fmt.Println("Aprovado! Voce esta pronto para a proxima fase.")
    } else {
        fmt.Println("Reprovado! Volte para a Academia Ninja.")
    }
}

🕹️ Como Executar e Testar no VS Code

  1. Abra o terminal integrado.
  2. Execute: go run teste_chunin.go

Resultado Esperado:

Nota do ninja: 8.5
Aprovado! Voce esta pronto para a proxima fase.

📖 Recurso Go: O switch Limpo

O Go possui um switch muito limpo que não precisa da palavra break no final de cada caso!

rank := 1
switch rank {
case 1:
    fmt.Println("Genin")
case 2:
    fmt.Println("Chunin")
case 3:
    fmt.Println("Jonin")
default:
    fmt.Println("Rank desconhecido")
}

📊 Ilustração Visual: Fluxo de Decisão

Veja como o programa decide qual caminho seguir:

graph TD
    A{"Nota >= 7.0?"} -->|Sim| B[Aprovado!]
    A -->|Não| C[Reprovado!]

🛠️ Prática Obrigatória 1: Classificação Ninja

Crie um programa chamado rank_ninja.go que use uma variável com a quantidade de missões concluídas por um ninja e o classifique usando if ou switch:

  • Menos de 10 missões: Genin
  • De 10 a 50 missões: Chunin
  • Mais de 50 missões: Jonin

🔑 Gabarito de Código

Prática 1: rank_ninja.go

package main
 
import "fmt"
 
func main() {
    missoes := 25
 
    fmt.Println("Missoes concluidas:", missoes)
 
    if missoes < 10 {
        fmt.Println("Seu rank e: Genin")
    } else if missoes <= 50 {
        fmt.Println("Seu rank e: Chunin")
    } else {
        fmt.Println("Seu rank e: Jonin")
    }
}

Capitulo Anterior | Proximo Capitulo