🚀 Capítulo 02: Variáveis da Matrix (Tema: Matrix)

NOTE

Este capítulo utiliza a temática de Matrix para explicar a declaração de variáveis e a tipagem estática em Go. Aprenda a armazenar dados de forma segura!


1. 🎯 Objetivo da Aula

Compreender como declarar variáveis em Go, a diferença entre a declaração longa e o operador curto (:=), e conhecer os tipos primitivos básicos da linguagem.

2. 🏢 O Cenário Prático (Seu Desafio)

No mundo de Matrix, tudo o que existe é feito de código verde piscando em uma tela preta. Cada pessoa, cada prédio e cada colher possui propriedades definidas que ocupam um espaço na memória do sistema. Se você quiser ser como o Neo e hackear a Matrix, você precisa primeiro entender como ela armazena as informações!

Em Go, nós guardamos as informações do nosso programa em caixas chamadas Variáveis.

  • Como o Go é uma linguagem de Tipagem Estática (muito segura), quando você cria uma caixa para guardar um número, ela só poderá guardar números para sempre! Você não pode tentar colocar um texto lá dentro depois. Seu desafio é organizar os dados da Matrix!

🧠 Fundamentos: A Teoria Traduzida

📦 1. As Duas Formas de Criar Variáveis:

A Forma Longa (Tradicional): Você diz a palavra reservada var, o nome da variável, o tipo dela e o valor.

package main
 
import "fmt"
 
func main() {
    var personagem string = "Neo"
    var idade int = 30
    fmt.Println(personagem, idade)
}

A Forma Curta (O Atalho do Hacker): Em Go, existe o operador := (dois pontos igual). Ele serve para declarar e atribuir um valor ao mesmo tempo, e o Go descobre o tipo sozinho (inferência de tipo)!

package main
 
import "fmt"
 
func main() {
    escolha := "Pílula Vermelha" // O Go já sabe que é uma string!
    fmt.Println(escolha)
}

Atenção: O operador := só pode ser usado dentro de funções!

📊 2. Os Tipos Primitivos mais Usados:

  • string: Textos (sempre entre aspas duplas "").
  • int: Números inteiros (sem casas decimais).
  • float64: Números com ponto flutuante (casas decimais, ex: ).
  • bool: Valores lógicos (true ou false).

4. 📖 Exemplo Guiado: O Perfil do Neo

Vamos criar as variáveis para descrever o Neo:

package main
 
import "fmt"
 
func main() {
    // Usando a forma curta
    nome := "Neo"
    idade := 30
    altura := 1.85
    escolheuPilulaVermelha := true
 
    fmt.Println("Nome:", nome)
    fmt.Println("Idade:", idade)
    fmt.Println("Altura:", altura)
    fmt.Println("Desperto:", escolheuPilulaVermelha)
}

5. 🛠️ Prática Obrigatória 1: Operador Curto

Crie as seguintes variáveis usando o operador curto (:=) dentro da função main de um arquivo imaginário:

  1. Uma variável chamada codinome com o valor "Trinity".
  2. Uma variável chamada nivelAmeaca com o valor inteiro .
  3. Uma variável chamada saldoCreditos com o valor decimal .

6. 🛠️ Prática Obrigatória 2: O Erro de Tipagem

Imagine que você escreveu o seguinte código:

idade := 30
idade = "trinta"
  1. O Go vai aceitar que você mude o valor da variável idade para a palavra "trinta" na segunda linha? Por quê?

7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

  1. Faça o Commit: No GitHub Desktop, digite a mensagem (ex: Finaliza Capítulo 02 Go_Matrix) e clique em Commit to main.
  2. Envie para a Nuvem (Push): Clique em Push origin.

8. 📂 Estrutura de Pastas

spec_backend_com_golang_e_gin/
├── capitulos/
│   └── capitulo_02_matrix.md

💡 Checkpoint de Lógica

Em Go, se você declarar uma variável e não usar ela no código (não der um Println, por exemplo), o Go vai dar um erro de compilação e não vai deixar o programa rodar! Ele odeia desperdício de memória!

10. 🔥 Desafio de Fixação

Pesquise como declarar uma Constante em Go (um valor que nunca pode ser alterado depois de criado) e qual palavra-chave usamos para isso.

🔑 Gabarito de Código/Fórmulas

Gabarito da Prática 1:

codinome := "Trinity"
nivelAmeaca := 99
saldoCreditos := 1500.50

Gabarito da Prática 2:

  1. Não! O Go vai dar um erro de compilação. Como a variável idade foi criada recebendo o número , o Go definiu que ela é do tipo int (inteiro) para sempre. Você não pode tentar guardar um texto (string) dentro de uma caixa feita para números!

Capitulo Anterior | Proximo Capitulo