Categoria

Golang

HTTP server com net/http
Golang

HTTP server com net/http

O pacote net/http é a espinha dorsal da construção de servidores HTTP em Go. Diferentemente de outras linguagens que exigem frameworks externos para tarefas básicas, Go oferece uma biblioteca padrão robusta e completa para criar servidores HTTP de produção.

05/05/2026
Idempotência em APIs distribuídas
Golang 05/05/2026

Idempotência em APIs distribuídas

Uma operação é idempotente quando executá-la uma ou múltiplas vezes produz o mesmo resultado final, sem efeitos colaterais adicionais. No contexto HTTP, os métodos possuem comportamentos distintos:

Init functions e ordem de inicialização
Golang 05/05/2026

Init functions e ordem de inicialização

Em Go, a função init() é uma função especial que executa automaticamente antes da função main(). Ela não aceita parâmetros, não retorna valores e não pode ser chamada explicitamente pelo programador. O compilador Go identifica e executa todas as funções init() definidas em um programa.

Generics: type parameters em Go 1.18+
Golang 05/05/2026

Generics: type parameters em Go 1.18+

Generics representam uma das maiores adições à linguagem Go desde sua criação. Introduzidos oficialmente no Go 1.18, os type parameters permitem escrever funções e tipos que podem operar com diferentes tipos concretos sem sacrificar a segurança de tipos em tempo de compilação.

Goroutines: threads leves e baratas
Golang 05/05/2026

Goroutines: threads leves e baratas

Goroutines são a unidade fundamental de concorrência em Go. Diferentemente das threads tradicionais do sistema operacional, que possuem pilhas de aproximadamente 1 MB e exigem trocas de contexto custosas gerenciadas pelo kernel, as goroutines são threads leves gerenciadas pelo runtime do Go. Elas começam com uma pilha mínima de apenas 2 KB, que pode crescer e encolher dinamicamente conforme necessário.

Graceful shutdown: encerrando serviços com elegância
Golang 05/05/2026

Graceful shutdown: encerrando serviços com elegância

Quando um servidor Go é encerrado abruptamente — seja por um kill -9, um crash ou um deploy mal planejado — as consequências podem ser graves. Conexões abertas são cortadas no meio de uma requisição, dados em trânsito são perdidos e o estado do sistema pode ficar inconsistente.

gRPC: definição com protobuf e geração de código
Golang 05/05/2026

gRPC: definição com protobuf e geração de código

gRPC é um framework de chamada de procedimento remoto (RPC) de alto desempenho desenvolvido pelo Google, que utiliza HTTP/2 como transporte e Protocol Buffers como linguagem de definição de interface (IDL). No ecossistema Go, o gRPC se destaca por sua eficiência, tipagem forte e geração automática de código, eliminando a necessidade de escrever manualmente código de serialização e transporte.

Funções como valores e tipos de função
Golang 05/05/2026

Funções como valores e tipos de função

Em Go, funções são cidadãos de primeira classe, o que significa que podem ser atribuídas a variáveis, passadas como argumentos e retornadas de outras funções. Essa característica é fundamental para escrever código flexível e reutilizável.