Funktionale Programmierung in Go (Golang)
300 Seiten
German
PDF
4.5

Funktionale Programmierung in Go (Golang)

Funktionale Programmierung in Go (Golang)

Autor:

Jahr:

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