Categoria

Golang

Otimizações de memória: escape analysis
Golang

Otimizações de memória: escape analysis

O escape analysis é uma técnica de otimização do compilador Go que determina se uma variável pode ser alocada na stack (pilha) ou precisa ser alocada na heap (monte). Essa decisão tem impacto direto no desempenho e na eficiência do garbage collector (GC).

05/05/2026
Pacotes e o sistema de módulos com go mod
Golang 05/05/2026

Pacotes e o sistema de módulos com go mod

Em Go, todo código fonte pertence a um pacote. A estrutura de diretórios define a hierarquia de pacotes, e a declaração package no topo de cada arquivo determina a qual pacote ele pertence. Um diretório pode conter múltiplos arquivos, desde que todos declarem o mesmo nome de pacote.

Padrão fan-out e fan-in
Golang 05/05/2026

Padrão fan-out e fan-in

O padrão fan-out e fan-in é uma técnica de concorrência em Go que permite distribuir trabalho entre múltiplas goroutines e depois agregar os resultados. O fan-out consiste em dividir tarefas de um único canal de entrada para vários workers paralelos, enquanto o fan-in combina múltiplos canais de saída em um único canal consolidado.

Panic e recover: erros não recuperáveis
Golang 05/05/2026

Panic e recover: erros não recuperáveis

Em Go, o tratamento de erros é tradicionalmente feito através do retorno de valores do tipo error. No entanto, existe um mecanismo mais drástico para situações excepcionais: o panic. Um panic é uma interrupção abrupta do fluxo normal de execução de um programa. Quando um panic ocorre, a função atual para imediatamente, e o runtime de Go começa a desempilhar a pilha de chamadas, executando qualquer função defer que encontrar pelo caminho.

O que é Go e por que foi criado no Google
Golang 05/05/2026

O que é Go e por que foi criado no Google

Go, também conhecida como Golang, é uma linguagem de programação compilada, estaticamente tipada e com suporte nativo a concorrência. Criada no Google em 2007 e lançada publicamente em 2009, Go foi projetada para combinar a eficiência de linguagens compiladas como C++ com a produtividade e simplicidade de linguagens dinâmicas como Python.

Maps: criando, acessando e deletando chaves
Golang 05/05/2026

Maps: criando, acessando e deletando chaves

Em Go, um map é uma coleção não ordenada de pares chave-valor, implementada internamente como uma tabela hash. É um tipo referência, o que significa que ao atribuir um map a outra variável ou passá-lo para uma função, ambas compartilham a mesma estrutura de dados subjacente.

Métodos: funções associadas a tipos
Golang 05/05/2026

Métodos: funções associadas a tipos

Em Go, um método é uma função especial que possui um receiver — um parâmetro adicional que vincula a função a um tipo específico. Enquanto funções comuns operam independentemente, métodos definem comportamentos associados diretamente a dados.

Métricas com Prometheus client_golang
Golang 05/05/2026

Métricas com Prometheus client_golang

Prometheus é um sistema de monitoramento e alerta de código aberto, parte da CNCF, que coleta métricas de sistemas alvo em intervalos regulares via HTTP. O ecossistema inclui armazenamento time-series, uma linguagem de consulta poderosa (PromQL) e integração com o Alertmanager para notificações.

Middleware chain e interceptors no gRPC
Golang 05/05/2026

Middleware chain e interceptors no gRPC

Interceptors são funções de middleware que interceptam chamadas gRPC antes que elas atinjam o handler final. Eles permitem executar lógica adicional — como logging, autenticação, métricas e tracing — de forma modular e reutilizável.

Migrations com golang-migrate
Golang 05/05/2026

Migrations com golang-migrate

Migrations são uma forma controlada e versionada de gerenciar alterações no esquema do banco de dados. Em projetos Go, onde a simplicidade e a previsibilidade são valorizadas, o uso de migrations traz benefícios como rastreabilidade, reprodutibilidade e facilidade de deploy.