Capítulo 02: Estrutura Sequencial e Variáveis ⛏️🟩

Neste capítulo, vamos aprender a realizar cálculos matemáticos e a declarar variáveis no Go, usando o universo do Minecraft como tema!


📖 O que é Estrutura Sequencial?

É aquela em que as instruções são executadas uma após a outra, de cima para baixo.


📖 Recurso Go: Declaração Curta :=

No Go, podemos declarar e inicializar uma variável rapidamente usando o operador :=. O Go adivinha o tipo da variável automaticamente!

madeira := 10 // O Go sabe que é um número inteiro

📖 Exemplo Guiado: Calculadora de Recursos

Vamos criar um programa que calcula quantos blocos de madeira precisamos para fazer uma quantidade de tábuas.

  1. Crie o arquivo calculadora_recursos.go na pasta src/:
package main
 
import "fmt"
 
func main() {
    var madeiraBruta int // Declaração tradicional com tipo
 
    fmt.Print("Quantos blocos de madeira bruta voce coletou? ")
    
    // Lendo a entrada do teclado
    fmt.Scan(&madeiraBruta)
 
    tabuas := madeiraBruta * 4 // Declaração curta
 
    fmt.Println("Voce pode fazer", tabuas, "tabuas de madeira!")
}

🕹️ Como Executar e Testar no VS Code

  1. Abra o terminal integrado.
  2. Execute: go run calculadora_recursos.go
  3. Digite 5 e pressione Enter.

Resultado Esperado:

Quantos blocos de madeira bruta voce coletou? 5
Voce pode fazer 20 tabuas de madeira!

📊 Ilustração Visual: Fluxo Sequencial

Veja como os dados fluem pelo programa:

graph LR
    A["📥 Entrada: Madeira Bruta"] --> B["⚙️ Processamento: Multiplicar por 4"]
    B --> C["📤 Saída: Tábuas de Madeira"]

🛠️ Prática Obrigatória 1: Estoque de Esmeraldas

Um aldeão quer trocar esmeraldas por pães. Cada pão custa 3 esmeraldas. Crie um programa chamado troca_aldeao.go que pergunte quantos pães o jogador quer e calcule o total de esmeraldas necessárias.


🔑 Gabarito de Código

Prática 1: troca_aldeao.go

package main
 
import "fmt"
 
func main() {
    var paes int
 
    fmt.Print("Quantos paes voce deseja comprar? ")
    fmt.Scan(&paes)
 
    esmeraldas := paes * 3
 
    fmt.Println("Total de esmeraldas necessarias:", esmeraldas)
}

Capitulo Anterior | Proximo Capitulo