Programação Funcional em Go (Golang)
300 páginas
Portuguese
PDF
4.5

Programação Funcional em Go (Golang)

Programação Funcional em Go (Golang)

Autor:

Ano:

Resumo:

Este livro é um guia prático para a implementação do paradigma de programação funcional (PF) no ecossistema Go. Diferente de Haskell ou Scala, Go não é uma linguagem puramente funcional, mas seus recursos poderosos (closures, funções de primeira classe, interfaces) permitem aplicar com sucesso os princípios-chave da PF para criar código mais previsível, testável e seguro para concorrência.



Sobre o livro

O livro apresenta ao leitor, de forma sequencial, os conceitos fundamentais da PF e mostra como implementá-los em Go:

  • Funções puras e imutabilidade: como evitar efeitos colaterais, tornar o código determinístico e facilmente testável.
  • Funções de ordem superior: map, filter, reduce para slices e canais.
  • Closures e currying: criação de fábricas de funções e aplicação parcial de argumentos.
  • Composição de funções: construção de pipelines de processamento de dados sem chamadas aninhadas.
  • Tratamento de erros com mônadas: alternativa ao clássico if err != nil — padrões Maybe (Option) e Either.
  • Lazy evaluation e sequências infinitas: trabalho eficiente com grandes volumes de dados.
  • Paralelismo e abordagem funcional: uso de canais e goroutines no estilo funcional.


Para quem é este livro

  • Desenvolvedores Go com pelo menos 1 ano de experiência que desejam escrever código mais limpo e declarativo.
  • Programadores familiarizados com PF em outras linguagens que buscam analogias em Go.
  • Arquitetos que buscam reduzir o número de estados e mutações em microsserviços.


O que você aprenderá

  • Como escrever funções sem efeitos colaterais e gerenciar estado através de closures.
  • Como substituir loops por recursão e funções de ordem superior.
  • Como construir cadeias de operações usando composição e o padrão "Pipeline".
  • Como tratar erros sem verificações aninhadas, usando a abordagem monádica.
  • Como projetar APIs resilientes a mudanças e facilmente testáveis.


Todos os exemplos de código foram testados no Go 1.21+ e são acompanhados de testes. O livro contém templates prontos para projetos reais: desde o processamento de requisições HTTP até o trabalho com bancos de dados no estilo funcional.



Ideal para quem deseja ir além da programação imperativa e alcançar um novo nível de abstração em Go.

Recommendations