Interfaces em Go: Entenda de Verdade
Guia completo sobre interfaces em Go. Implementação implícita, interface vazia, type assertions, composição e padrões do mundo real.
Interfaces em Go: Entenda de Verdade
“The bigger the interface, the weaker the abstraction.” – Rob Pike
Interfaces em Go são diferentes de qualquer outra linguagem. Não existem palavras-chave como implements ou extends. Em Go, interfaces são satisfeitas implicitamente: se um tipo tem os métodos que a interface exige, ele já a implementa. Ponto.
Essa decisão de design torna Go incrivelmente flexível para desacoplamento, testes e composição. Neste guia, vamos do conceito básico até padrões avançados usados em projetos reais.
Tratamento de Erros em Go: Guia Definitivo
Domine o tratamento de erros em Go. Error interface, custom errors, errors.Is/As, wrapping, sentinel errors e boas práticas para código robusto.
Tratamento de Erros em Go: Guia Definitivo
“Errors are values.” – Rob Pike
Em Go, erros não são exceções. Não existe try/catch. Erros são valores comuns que você retorna, inspeciona e trata de forma explícita. Essa abordagem, que pode parecer verbosa no começo, é uma das maiores forças da linguagem: torna o fluxo de erro visível, previsível e impossível de ignorar acidentalmente.
Neste guia, vamos explorar tudo sobre tratamento de erros em Go, desde o básico até padrões avançados usados em produção.