Funktionale Programmierung in Go (Golang)
Funktionale Programmierung in Go (Golang)
Zusammenfassung:
Dieses Buch ist ein praktischer Leitfaden zur Einführung des Paradigmas der funktionalen Programmierung (FP) in das Go-Ökosystem. Im Gegensatz zu Haskell oder Scala ist Go keine rein funktionale Sprache, aber seine leistungsstarken Möglichkeiten (Closures, Funktionen erster Klasse, Interfaces) ermöglichen die erfolgreiche Anwendung der wichtigsten FP-Prinzipien zur Erstellung von vorhersehbarerem, testbarerem und nebenläufig-sicherem Code.
Worum geht es in dem Buch
Das Buch führt den Leser schrittweise in die grundlegenden Konzepte der FP ein und zeigt, wie man sie in Go umsetzt:
- Reine Funktionen und Unveränderlichkeit: Wie man Seiteneffekte vermeidet, Code deterministisch und leicht testbar macht.
- Funktionen höherer Ordnung: map, filter, reduce für Slices und Channels.
- Closures und Currying: Erstellung von Funktionsfabriken und partielle Anwendung von Argumenten.
- Funktionskomposition: Aufbau von Datenverarbeitungspipelines ohne verschachtelte Aufrufe.
- Fehlerbehandlung mit Monaden: Alternative zum klassischen
if err != nil– das Maybe (Option) und Either Pattern. - Faule Berechnungen und unendliche Sequenzen: Effiziente Arbeit mit großen Datenmengen.
- Nebenläufigkeit und funktionaler Ansatz: Verwendung von Channels und Goroutinen im funktionalen Stil.
Für wen ist dieses Buch
- Go-Entwickler mit mindestens 1 Jahr Erfahrung, die saubereren und deklarativeren Code schreiben möchten.
- Programmierer, die mit FP in anderen Sprachen vertraut sind und nach Analogien in Go suchen.
- Architekten, die die Anzahl der Zustände und Mutationen in Microservices reduzieren möchten.
Was Sie lernen werden
- Wie man Funktionen ohne Seiteneffekte schreibt und den Zustand über Closures verwaltet.
- Wie man Schleifen durch Rekursion und Funktionen höherer Ordnung ersetzt.
- Wie man Operationsketten mittels Komposition und dem "Pipeline"-Pattern aufbaut.
- Wie man Fehler ohne verschachtelte Prüfungen mit einem monadischen Ansatz behandelt.
- Wie man APIs entwirft, die änderungsresistent und leicht testbar sind.
Alle Codebeispiele wurden mit Go 1.21+ getestet und werden von Tests begleitet. Das Buch enthält fertige Vorlagen für reale Projekte: von der Verarbeitung von HTTP-Anfragen bis zur Arbeit mit Datenbanken im funktionalen Stil.
Ideal für alle, die über die Grenzen der imperativen Programmierung hinausgehen und eine neue Abstraktionsebene in Go erlernen möchten.
Empfehlungen
Python für Studium und Beruf. Wie Sie die leistungsstärkste Programmiersprache für Ihre zukünftige Karriere meistern
Funktionale Programmierung mit JavaScript (Node.js)
Go (Golang)-Vorstellungsgespräch: 200 Fragen und Antworten
Rust für Anfänger: Der vollständige Kurs
API-Entwicklung mit Swift: Serveranwendungen für iOS und macOS erstellen
GraphQL in Go (Golang): Moderne APIs erstellen