Executando verificação de segurança...
2

Hands-on Go — Avançando com Exemplos Práticos

👋 Olá, pessoal!

Depois do primeiro post sobre os quatro exemplos iniciais em gostart, trouxe mais quatro casos de uso que refletem desafios reais do dia a dia com Go. Vamos mergulhar no que foi adicionado!


📂 Estrutura Atualizada

gostart
┣ exemplos
┃ ┣ 01_hello
┃ ┣ 02_arguments
┃ ┣ 03_duplicates
┃ ┣ 04_animated_gif
┃ ┣ 05_http_requests
┃ ┣ 06_concurrency_channels
┃ ┣ 07_file_manipulation
┃ ┗ 08_api_integration
┗ README.MD

Cada pasta contém um main.go e um README.md que guia você passo a passo.


✅ 05 - HTTP Requests

O que foi adicionado:

  • Consumo de APIs REST com GET e POST
  • Tratamento de JSON (marshal/unmarshal)
  • Uso de http.NewRequest e customização de headers
  • Configuração de http.Client com timeout

Por que isso importa?
Em aplicações reais você vai buscar e enviar dados para serviços externos — saber lidar bem com requisições HTTP é fundamental.


✅ 06 - Concurrency & Channels

O que foi adicionado:

  • Criação de goroutines para tarefas paralelas
  • Comunicação via canais (bufferizados e não-bufferizados)
  • Sincronização com sync.WaitGroup
  • Multiplexação de canais usando select e default
  • Padrão de worker pool

Por que isso importa?
Go foi projetado para concorrência — esses exemplos mostram como escalar processos de forma segura e eficiente.


✅ 07 - File Manipulation

O que foi adicionado:

  • Leitura/escrita de arquivos de texto e binários (os, bufio, io)
  • Cópia de arquivos com io.Copy
  • Processamento de CSV (encoding/csv) e JSON (encoding/json)
  • Percurso de diretórios e coleta de metadados (filepath.WalkDir, os.DirEntry)

Por que isso importa?
Muita lógica de back-end envolve manipular arquivos locais — desde logs até cargas de dados em lote.


✅ 08 - API Integration

O que foi adicionado:

  • Estruturação de um client customizado com interface para facilitar testes
  • Autenticação via header (API Key / Bearer Token)
  • Controle de timeout e cancelamento com context
  • Exponential backoff (retry) em erros de servidor (5xx)
  • Tratamento robusto de erros com empacotamento de contexto

Por que isso importa?
Em projetos corporativos você vai integrar serviços pagos ou internos — esse exemplo mostra padrões de produção.


🚀 Como começar

  1. Clone o repositório ou atualize seu fork:
git clone https://github.com/TheZehel/gostart.git
cd gostart/exemplos
  1. Escolha um dos novos diretórios (05_http_requests, 06_concurrency_channels etc.)

  2. Leia o README.md para entender o fluxo e execute:

go run main.go

🤝 Contribuições

Quer ajudar a enriquecer o gostart?

  • Crie uma pasta 0X_nome_do_exemplo/ seguindo a mesma convenção
  • Inclua main.go com código comentado e README.md com explicação clara
  • Exemplos sugeridos: bancos de dados, gRPC, CLI interativas, testes automatizados, microserviços…
  • Abra um PR e vamos crescer esse repositório juntos! 💪

💬 Dúvidas, sugestões ou feedback? Deixe um comentário abaixo.

Vamos continuar aprendendo fazendo! 🚀

Carregando publicação patrocinada...