Go para Iniciantes: Primeiros Passos
Nunca programou em Go? Este guia te leva do zero ao seu primeiro programa funcionando.
Por que Go?
Go foi criada pelo Google para resolver problemas reais:
- Simples — Sintaxe limpa, fácil de ler
- Rápida — Compila em segundos, roda em milissegundos
- Prática — Baterias incluídas, sem frameworks gigantes
Empresas como Google, Uber, Nubank e iFood usam Go em produção.
Instalação
Windows
- Baixe o instalador em go.dev/dl
- Execute o .msi
- Abra um novo terminal e digite
go version
macOS
# Com Homebrew
brew install go
# Verifique
go version
Linux
# Ubuntu/Debian
sudo apt update
sudo apt install golang-go
# Ou baixe direto
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
Seu Primeiro Programa
Crie um arquivo chamado main.go:
package main
import "fmt"
func main() {
fmt.Println("Olá, Go!")
}
Execute:
go run main.go
Saída:
Olá, Go!
🎉 Parabéns! Você rodou seu primeiro programa Go.
Entendendo o Código
package main // Todo programa Go começa com um package
// "main" é especial - indica um executável
import "fmt" // Importa o pacote de formatação
// fmt = format (imprimir, ler entrada)
func main() { // Função principal - ponto de entrada
fmt.Println("Olá, Go!") // Imprime texto na tela
}
Variáveis
package main
import "fmt"
func main() {
// Declaração explícita
var nome string = "Maria"
var idade int = 25
// Declaração curta (mais comum)
cidade := "São Paulo"
fmt.Println(nome, idade, cidade)
}
Tipos Básicos
| Tipo | Descrição | Exemplo |
|---|---|---|
string | Texto | "Olá" |
int | Número inteiro | 42 |
float64 | Número decimal | 3.14 |
bool | Verdadeiro/Falso | true |
Condicionais
idade := 18
if idade >= 18 {
fmt.Println("Maior de idade")
} else {
fmt.Println("Menor de idade")
}
Loops
Go tem apenas for — ele faz tudo:
// Loop tradicional
for i := 0; i < 5; i++ {
fmt.Println(i)
}
// While-style
contador := 0
for contador < 5 {
fmt.Println(contador)
contador++
}
// Infinito (com break)
for {
fmt.Println("Loop infinito")
break // Sai do loop
}
Funções
func soma(a int, b int) int {
return a + b
}
func main() {
resultado := soma(5, 3)
fmt.Println(resultado) // 8
}
Múltiplos Retornos
Go permite retornar vários valores:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("divisão por zero")
}
return a / b, nil
}
func main() {
resultado, err := divide(10, 2)
if err != nil {
fmt.Println("Erro:", err)
return
}
fmt.Println(resultado) // 5
}
Próximos Passos
Agora que você conhece o básico:
- Tour of Go — Tutorial interativo oficial
- Go by Example — Exemplos práticos
- Como Aprender Go — Guia completo de recursos
Exercícios para Praticar
- Crie um programa que imprime números de 1 a 10
- Faça uma calculadora simples (soma, subtração)
- Crie uma função que verifica se um número é par
Veja Também
Última atualização: Janeiro 2026
Próximos passos
Agora que você conhece o básico de Go, continue aprendendo:
- API REST com Go — Crie sua primeira API completa
- Testes em Go — Aprenda a testar seu código
- Go com PostgreSQL — Conecte ao banco de dados
- Concorrência em Go — Goroutines e Channels
- Go com Docker — Containerize suas aplicações
- Go Cheatsheet — Referência rápida da sintaxe
- Empresas que Usam Go — 948+ empresas no Brasil
- Vagas Go no Brasil — Veja oportunidades de trabalho