Kapitel 8. Generika

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

"Wiederhole dich nicht" ist ein gängiger Ratschlag in der Softwareentwicklung. Es ist besser, eine Datenstruktur oder eine Funktion wiederzuverwenden, als sie neu zu erstellen, denn es ist schwierig, Codeänderungen zwischen dupliziertem Code synchron zu halten. In einer stark typisierten Sprache wie Go muss der Typ jedes Funktionsparameters und jedes Strukturfelds zur Kompilierzeit bekannt sein. Diese Strenge ermöglicht es dem Compiler, die Korrektheit deines Codes zu überprüfen, aber manchmal möchtest du die Logik in einer Funktion oder die Felder in einer Struktur mit unterschiedlichen Typen wiederverwenden. Go bietet diese Funktionalität über Typparameter, die umgangssprachlich als Generics bezeichnet werden. In diesem Kapitel erfährst du, warum man Generics haben will, was die Implementierung von Generics in Go kann, was Generics nicht können und wie man sie richtig einsetzt.

Generika reduzieren repetitiven Code und erhöhen die Typensicherheit

Go ist eine statisch typisierte Sprache, was bedeutet, dass die Typen von Variablen und Parametern beim Kompilieren des Codes überprüft werden. Eingebaute Typen (Maps, Slices, Channels) und Funktionen (wie len, cap oder make) können Werte verschiedener konkreter Typen annehmen und zurückgeben, aber bis Go 1.18 konnten benutzerdefinierte Go-Typen und -Funktionen das nicht.

Wenn du an ...

Get Go lernen, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.