Programación funcional en Go (Golang)
Programación funcional en Go (Golang)
Resumen:
Este libro es una guía práctica para implementar el paradigma de la programación funcional (PF) en el ecosistema de Go. A diferencia de Haskell o Scala, Go no es un lenguaje puramente funcional, pero sus potentes capacidades (cierres, funciones de primera clase, interfaces) permiten aplicar con éxito los principios clave de la PF para crear código más predecible, testeable y seguro para la concurrencia.
De qué trata el libro
El libro introduce progresivamente al lector en los conceptos fundamentales de la PF y muestra cómo implementarlos en Go:
- Funciones puras e inmutabilidad: cómo evitar efectos secundarios, hacer el código determinista y fácil de probar.
- Funciones de orden superior: map, filter, reduce para slices y canales.
- Cierres y currying: creación de fábricas de funciones y aplicación parcial de argumentos.
- Composición de funciones: construcción de tuberías de procesamiento de datos sin llamadas anidadas.
- Manejo de errores con mónadas: alternativa al clásico
if err != nil— el patrón Maybe (Option) y Either. - Evaluación perezosa y secuencias infinitas: trabajo eficiente con grandes volúmenes de datos.
- Concurrencia y enfoque funcional: uso de canales y gorutinas en estilo funcional.
Para quién es este libro
- Desarrolladores Go con al menos 1 año de experiencia que deseen escribir código más limpio y declarativo.
- Programadores familiarizados con la PF en otros lenguajes que busquen analogías en Go.
- Arquitectos que busquen reducir la cantidad de estados y mutaciones en microservicios.
Qué aprenderá
- Cómo escribir funciones sin efectos secundarios y gestionar el estado mediante cierres.
- Cómo reemplazar bucles con recursión y funciones de orden superior.
- Cómo construir cadenas de operaciones mediante composición y el patrón «Pipeline».
- Cómo manejar errores sin comprobaciones anidadas utilizando el enfoque monádico.
- Cómo diseñar APIs resistentes a cambios y fácilmente testeables.
Todos los ejemplos de código están probados en Go 1.21+ y vienen acompañados de tests. El libro contiene plantillas listas para usar en proyectos reales: desde el manejo de solicitudes HTTP hasta el trabajo con bases de datos en estilo funcional.
Ideal para quienes desean ir más allá de la programación imperativa y dominar un nuevo nivel de abstracción en Go.
Recommendations
Fundamentos de Python. Aprende a pensar como un programador
Automatización de tareas rutinarias con Python
Libro de prueba editado
Refactorización de código PHP: mejorando la arquitectura y el rendimiento
Swift para microservicios: iOS, macOS y arquitectura en la nube
Arquitectura de aplicaciones Rust