Capítulo 04: Estruturas Repetitivas 🍄⭐
Neste capítulo, vamos aprender a repetir blocos de código usando o laço for do Go. Sim, o Go só tem um laço de repetição, o for! Mas ele é capaz de fazer tudo o que o while e o for de outras linguagens fazem, com o tema Super Mario!
📖 O que são Estruturas Repetitivas?
Servem para executar o mesmo bloco de código várias vezes. No Go, não existe a palavra while. Usamos o for para todas as repetições!
📖 Exemplo Guiado: Coleta de Moedas (Estilo While)
Vamos simular o Mario coletando moedas até atingir o limite de 5 moedas. Usaremos o for como se fosse um while.
- Crie o arquivo
coleta_moedas.gona pastasrc/:
package main
import "fmt"
func main() {
moedas := 0
// O 'for' aqui funciona exatamente como um 'while'!
for moedas < 5 {
moedas++
fmt.Println("Mario coletou uma moeda! Total:", moedas)
}
fmt.Println("Parabens! Voce completou a fase!")
}🕹️ Como Executar e Testar no VS Code
- Abra o terminal integrado.
- Execute:
go run coleta_moedas.go
Resultado Esperado:
Mario coletou uma moeda! Total: 1
Mario coletou uma moeda! Total: 2
Mario coletou uma moeda! Total: 3
Mario coletou uma moeda! Total: 4
Mario coletou uma moeda! Total: 5
Parabens! Voce completou a fase!📖 Recurso Go: O for Tradicional
Também podemos usar o for no estilo tradicional (com inicialização, condição e incremento):
for i := 1; i <= 5; i++ {
fmt.Println("Contagem:", i)
}📊 Ilustração Visual: Fluxo do Laço
Veja como o loop se comporta:
graph TD A{"Moedas < 5?"} -->|Sim| B[Coletar Moeda] B --> C[Aumentar Contador] C --> A A -->|Não| D[Fim da Fase]
🛠️ Prática Obrigatória 1: Contagem Regressiva
Crie um programa chamado contagem_bomba.go que faça uma contagem regressiva de 5 até 1 usando o for tradicional (começando em 5 e diminuindo de 1 em 1) para simular o tempo de explosão de uma bomba do Bob-omb.
🔑 Gabarito de Código
Prática 1: contagem_bomba.go
package main
import "fmt"
func main() {
fmt.Println("Bob-omb vai explodir!")
for i := 5; i >= 1; i-- {
fmt.Println(i, "...")
}
fmt.Println("💥 CABUM!")
}