Kapitel 2: Grundlagen / 2.9 Optionals / 2.9.7 Generics-Syntax für Optionals

Generics sind, einfach gesprochen, eine Möglichkeit, um Programmstrukturen einen konkreten Typ zu geben, ohne sich bereits bei ihrer Programmierung auf diesen Typ festlegen zu müssen.

Zum Beispiel möchte jemand vielleicht eine Liste von Variblen immer desselben Typs haben, dann definiert und schreibt er (oder sie) den Typ Liste<T> ganz allgemein, ersetzt dann aber bei der Benutzung das T durch den tatsächlichen Typ, z.B. Liste<Int> oder Liste<String> und erhält so eine Liste aus Strings oder eine aus Integer-Zahlen, ohne Liste für jeden Typ einzeln implementieren zu müssen.

Optionals sind solche Generics. Sie wurden einmal von Apple ganz allgemein programmiert, haben dann aber bei ihrer Benutzung immer einen konkreten Typ: Ein Optional von Typ Int und eines vom Typ String sind, wie Sie ja inzwischen wissen, nicht miteinander kompatibel.

Aufgrund dieser Herkunft gibt es eine Schreibweise für Optionals, die der Swift Generics-Syntax entspricht: Optional<T> im allgemeinen Fall und Optional<Int> oder Optional<String> usw. im speziellen.

In der Benutzung sieht das dann so aus:

var optionalEins: Optional<Int> = 25
var optionalZwei: Int? = 25

Beide Zeilen enthalten dieselbe Deklaration und Zuweisung, die erste in der Generics- und die zweite in der verkürzten Schreibweise.

Ich erwähne die Generics-Syntax hier der Vollständigkeit halber und für den Fall, dass Sie einmal in fremdem Code darauf stoßen. Wenn Sie selbst Code schreiben, verwenden Sie bitte immer die allgemein übliche, verkürzte Syntax.

Zu Generics als Instrument für die Programmierung komme ich zu einem späteren Zeitpunkt natürlich noch einmal ausführlich zu sprechen.

Kapitel 2.9.7: Generics-Syntax für Optionals

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.