Pular para o conteúdo

Trilha de Go: o mapa das 65 aulas

O mapa completo para estudar Go em 9 blocos, do fundamental à concorrência, ao runtime, aos dados, às APIs e à arquitetura.

Revisada em · 4 min de leitura

Tamanho da fonte:
Largura da coluna:
Tom:
Espaço entre linhas:
Fonte:

Esta é a trilha completa de aulas para quem quer dominar Go. As 65 aulas estão em 9 blocos, na ordem em que cada uma só usa o que as anteriores já ensinaram.

A ordem foi decidida pela dependência entre os assuntos. Os fundamentos vêm primeiro, com conversão de tipos, iota e structs antes de tags. A concorrência vem logo depois, com goroutines antes de WaitGroup, channels e sync. O runtime vem em seguida, porque explica o que a concorrência faz por baixo. A biblioteca padrão, os testes e os dados vêm antes das APIs, e a arquitetura fecha com padrões e observabilidade.

Fundamentos da linguagem

  1. Conversão de tipos em Go: estouro, strings, runes e strconv
  2. iota em Go: constantes, enums e máscaras de bits
  3. Controle de Fluxo Idiomático em Go: Loops, Escopo de Decisão e Type Switches
  4. Structs em Go: campos, embedding, ponteiros e padding
  5. Tags de struct em Go: reflexão, JSON e validação
  6. Anatomia de Slices, Arrays e Maps em Go: Estruturas Internas e Armadilhas
  7. Ponteiros, Memória e Escape Analysis em Go
  8. Tratamento de Erros Idiomático em Go: Wrapping, Sentinelas e Exceções
  9. Módulos, Pacotes e Workspaces em Go: Dependências e Encapsulamento
  10. Função new em Go
  11. Defer em Go
  • Interfaces e composição (aula a escrever, depois de defer e antes de generics)
  1. Generics em Go

Concorrência fundamental

  1. Goroutines em Go: o que são e por que são baratas
  2. WaitGroup em Go: esperando um grupo de goroutines
  3. Channels em Go: da analogia ao hchan
  4. Select em Go
  5. Context em Go
  6. Race condition em Go: o que é e como o detector de corrida ajuda
  7. O pacote sync em Go: mutex, RWMutex, Once, Map e Pool
  8. Deadlock em Go: como acontece, como ler e como prevenir

Runtime e memória

  1. Call Stack em Go
  2. Heap em Go
  3. O scheduler do Go: G, M e P
  4. Preempção em Go: como o runtime interrompe goroutines
  5. Garbage collector do Go: alcançabilidade, pausas e GOGC
  6. Memory leaks em Go: como a memória fica presa

Biblioteca padrão

  1. Manipulação de Arquivos e I/O Idiomático em Go
  2. Trabalhando com JSON em Go: Da Biblioteca Padrão a Alta Performance
  3. Cliente HTTP Profissional em Go: Resiliência, Pooling e Sockets
  4. Servidor HTTP Nativo Moderno em Go (1.22+)
  5. Gerenciamento de Configuração com Viper

Testes e performance

  1. Testes unitários em Go com o pacote testing
  2. Table-driven tests e paralelismo em Go
  3. Testify: asserções e suítes de testes em Go
  4. Mocks e dublês de teste em Go
  5. Benchmarking e profiling de testes em Go
  6. pprof em Go: perfil de CPU, memória e goroutines
  7. Fuzzing nativo em Go: testes guiados por cobertura
  8. Testes de integração com Testcontainers em Go

Dados

  1. database/sql e connection pooling em Go
  2. PostgreSQL com pgx em Go: o driver nativo
  3. SQLC: SQL tipado a partir de queries em Go
  4. GORM na Prática: Modelagem, CRUD, Associações e Trade-offs
  5. SQLX em Go: mapeamento, named queries e transações
  6. Database Migrations com Goose: Versionamento, Embed e Zero-Downtime

APIs e mensageria

  1. Middlewares em Go: Arquitetura Cebola, Interceptação e Produção
  2. Autenticação e JWT em Go: Tokens, Assinatura e RBAC
  3. Documentação de APIs com Swagger em Go: OpenAPI, Swag e Automação
  4. GraphQL com gqlgen: Abordagem Schema-First, Resolvers e DataLoader
  5. Mensageria Prática em Go: RabbitMQ, Apache Kafka e Resiliência
  6. Upload de Arquivos para AWS S3 em Go: Streaming, Presigned URLs e Escala
  7. SSE e EventSource: como o servidor fala com o navegador sem ser pedido
  8. WebSocket em Go: handshake, quadros e broadcast
  9. gRPC em Go

Arquitetura e observabilidade

  1. Injeção de dependência em Go
  2. Design patterns em Go: da teoria clássica à prática idiomática
  3. Clean Architecture em Go: Camadas, Inversão de Controle e Pragmatismo
  4. Injeção de Dependências com Google Wire: DI em Tempo de Compilação
  5. Logging Estruturado com slog: Performance, Contexto e Produção
  6. Tracing Distribuído e OpenTelemetry em Go: Spans, Contexto e OTLP
  7. Resiliência em Go: Timeouts, Exponential Backoff, Circuit Breaker e Bulkhead

Concorrência aplicada

  1. Worker Pools e Rate Limiting em Go: Concorrência Controlada e Vazão
  2. Pipeline Pattern e Fan-Out, Fan-In em Go: Concorrência em Estágios
  3. Locks Distribuídos com Redis em Go: Exclusão Mútua, Redlock e Lua
  4. Graceful Shutdown e Signal Handling em Go: Encerramento Seguro em Produção

Como estudar

Leia as aulas na ordem. Cada uma indica quais aulas anteriores ela pressupõe. Quando uma aula cita um conceito de uma aula posterior, é porque ela só o menciona de passagem.

↑ Voltar ao topo

Atalhos de teclado

Abrir busca
/
Alternar tema claro/escuro
t
Aula anterior na série
←
Próxima aula na série
→
Lista de atalhos
?