Files
2026-05-30 23:59:33 +00:00

2.4 KiB

Go — Estudo

Fonte: project-based-learning


📚 Recursos Estudados

Tutorial Tópicos
Build a CLI Tool CLI, flags, cobra
HTTP Server from Scratch net/http, routing
WebSocket Chat gorilla/websocket
Docker/gRPC Tools gRPC, protocol buffers
REST API with Gin Gin framework
Key-Value Store in Go Redis-like in Go

🎯 Aplicações para Mundo Telecom

  1. CLI de administração — scripts de infra em Go (mais rápido que Python)
  2. Proxy/Servidor leve — substituir scripts pesados
  3. Ferramentas de deploy — automação de containers
  4. Monitoramento — health checks, heartbeats

📝 Conceitos Aprendidos

Go Core

  • Goroutines: concorrência leve (não threads OS)
  • Channels: comunicação entre goroutines (CSP model)
  • Interfaces: duck typing, composição
  • Structs: tipos customizados, métodos
  • Errors: tratamento explícito (não exceptions)
  • Packages: módulos, go mod, GOPATH vs modules

CLI com Go

  • flag package ou cobra/viper para CLIs complexas
  • Compilação cross-platform: GOOS=linux GOARCH=amd64 go build
  • Binário único: zero dependências runtime
  • Ideal para tools de deploy, health check, backup

Web em Go

  • net/http: servidor HTTP padrão (rápido, estável)
  • Gin: framework web mais popular (similar Flask)
  • Echo: alternativo, mais leve
  • gRPC: comunicação entre microserviços (Protocol Buffers)

Go vs Python para CLI

Aspecto Go Python
Binário Único, estático Precisa runtime
Performance ~40x mais rápido Mais lento
Concorrência Goroutines nativas threading/asyncio
Simplicidade Mais verboso Mais conciso
Ideal para Ferramentas de sistema, servidores Scripts, automação, data science

Progresso

  • Go Core (goroutines, channels, interfaces)
  • CLI Tools em Go
  • HTTP/Servidores com Go
  • gRPC e microserviços
  • Projeto prático: CLI de monitoramento
  • Projeto prático: servidor HTTP concorrente