Funktionale Programmierung in Go (Golang)
Funktionale Programmierung in Go (Golang)
Zusammenfassung:
Das Buch „Funktionale Programmierung in Go (Golang)“ ist ein praktischer Leitfaden, der zeigt, wie man die Prinzipien der funktionalen Programmierung (FP) in der imperativen Sprache Go anwendet. Im Gegensatz zu Haskell oder Scala ist Go keine rein funktionale Sprache, aber seine leistungsstarken Möglichkeiten – Closures, Funktionen höherer Ordnung, Schnittstellen und strenge Typisierung – ermöglichen es, FP-Idiome effektiv einzusetzen, um zuverlässigen und leicht wartbaren Code zu erstellen.
Das Buch richtet sich an Go-Entwickler mittlerer und fortgeschrittener Stufe, die über die Standard-OOP-Ansätze hinausgehen und lernen möchten, prägnanteren, vorhersagbareren und testbareren Code zu schreiben. Grundkenntnisse der Go-Syntax sind erforderlich, aber Erfahrung in funktionaler Programmierung ist nicht nötig – alle Konzepte werden von Grund auf eingeführt.
Was Sie lernen werden:
- Grundlagen der FP in Go: reine Funktionen, Unveränderlichkeit von Daten (Immutability), keine Seiteneffekte.
- Closures und Funktionen höherer Ordnung: wie man Funktionsfabriken, Currying und Komposition erstellt.
- Arbeit mit Sammlungen: Implementierung von map, filter, reduce ohne Schleifen unter Verwendung von Generics (Go 1.18+).
- Monaden und Funktoren: praktische Beispiele für Maybe-, Either- und IO-Monaden zur Fehlerbehandlung und Arbeit mit externen Daten.
- Faule Berechnungen und unendliche Sequenzen: Leistungsoptimierung durch verzögerte Operationen.
- Testen und Debuggen: wie FP das Modultesten vereinfacht und Code selbstdokumentierend macht.
- Reale Projekte: Entwicklung einer REST-API, eines Konfigurationsparsers und einer Datenverarbeitungspipeline im funktionalen Stil.
Jedes Kapitel enthält Go-Code, der sofort ausgeführt werden kann, sowie Aufgaben zur Festigung des Stoffes. Sie lernen, häufige Fehler (Mutation des globalen Zustands, komplexe verschachtelte Schleifen) zu vermeiden und eine Architektur zu erstellen, die gegenüber Änderungen robust ist.
Am Ende des Buches werden Sie in der Lage sein:
- Funktionen zu schreiben, die sich leicht kombinieren und wiederverwenden lassen.
- Die Anzahl der Fehler durch den Verzicht auf Seiteneffekte zu reduzieren.
- Funktionale Pattern in Production-Code mit Go anzuwenden.
Dieses Buch ist keine abstrakte Theorie, sondern ein Werkzeug, das Sie zu einem selbstbewussteren und effektiveren Go-Entwickler macht.
Empfehlungen
API-Entwicklung mit JavaScript (Node.js)
Swift (iOS/macOS) und Microservices: Von der mobilen App zum verteilten System
Swift (iOS/macOS) und Docker: Containerisierung von Anwendungen
Architektur von C++-Anwendungen: Entwurfsmuster und Skalierung
Entwurfsmuster. Elemente wiederverwendbarer objektorientierter Software
Make It Lean with TypeScript