Programação Funcional em Go (Golang)
Programação Funcional em Go (Golang)
Resumo:
O livro «Programação Funcional em Go (Golang)» é um guia prático que mostrará como aplicar os princípios da programação funcional (PF) na linguagem imperativa Go. Diferentemente de Haskell ou Scala, Go não é uma linguagem puramente funcional, mas seus poderosos recursos — closures, funções de ordem superior, interfaces e tipagem forte — permitem implementar eficazmente idiomas de PF para criar código confiável e de fácil manutenção.
O livro é destinado a desenvolvedores Go de nível intermediário e avançado que desejam ir além das abordagens padrão de POO e aprender a escrever código mais conciso, previsível e testável. Conhecimento básico da sintaxe do Go é obrigatório, mas experiência em programação funcional não é necessária — todos os conceitos são introduzidos do zero.
O que você aprenderá:
- Fundamentos de PF em Go: funções puras, imutabilidade de dados, ausência de efeitos colaterais.
- Closures e funções de ordem superior: como criar fábricas de funções, currying e composição.
- Trabalho com coleções: implementação de map, filter, reduce sem loops, usando genéricos (Go 1.18+).
- Mônadas e functores: exemplos práticos de Maybe, Either e mônada IO para tratamento de erros e trabalho com dados externos.
- Computação preguiçosa e sequências infinitas: otimização de desempenho através de operações adiadas.
- Testes e depuração: como a PF simplifica os testes unitários e torna o código autodocumentável.
- Projetos reais: desenvolvimento de uma API REST, um parser de configurações e um pipeline de processamento de dados em estilo funcional.
Cada capítulo contém código em Go que pode ser executado imediatamente, além de exercícios para fixação do conteúdo. Você aprenderá a evitar erros comuns (mutação de estado global, loops aninhados complexos) e a construir uma arquitetura resistente a mudanças.
Ao final do livro, você será capaz de:
- Escrever funções que são fáceis de combinar e reutilizar.
- Reduzir o número de bugs ao eliminar efeitos colaterais.
- Aplicar padrões funcionais em código de produção em Go.
Este livro não é teoria abstrata, mas uma ferramenta que o tornará um desenvolvedor Go mais confiante e eficiente.
Recommendations
DevOps para desenvolvedores Swift (iOS/macOS)
PHP para iniciantes: curso completo
Entrevista sobre C# (.NET): 200 perguntas e respostas
Concorrência em JavaScript (Node.js): assincronicidade, threads, paralelismo
PHP 8. Objetos, Padrões e Metodologias de Programação
TypeScript para programadores JavaScript