🚀 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 (trueoufalse).
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:
- Uma variável chamada
codinomecom o valor"Trinity". - Uma variável chamada
nivelAmeacacom o valor inteiro . - Uma variável chamada
saldoCreditoscom 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"- O Go vai aceitar que você mude o valor da variável
idadepara a palavra"trinta"na segunda linha? Por quê?
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 02 Go_Matrix) e clique em Commit to main. - 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.50Gabarito da Prática 2:
- Não! O Go vai dar um erro de compilação. Como a variável
idadefoi criada recebendo o número , o Go definiu que ela é do tipoint(inteiro) para sempre. Você não pode tentar guardar um texto (string) dentro de uma caixa feita para números!