Dart Basic: Parameter in Funktionen
Im letzten Artikel zu Dart haben wir uns ja mit, abstrakten Klassen beschäftigt. Ein zugegebener Massen abstraktes Thema (dieser flache Scherz musste jetzt sein).
Nicht wenige Funktionen verrichten ihre Arbeit nur, wenn wir Ihnen einen, oder mehrere Werte beim Aufruf übergeben.
Dabei kann jede Funktion zwei Arten von Parametern übernehmen: benötige(Pflicht) Werte und optionale. Beispiel:
In diesem sehr einfach Beispielcode wird eine Funktion benutzt, die zwei Zeichenketten als Übergabewerte erwartet.
Sollten wir diese Funktion ohne, oder mit nur einem Parameter aufrufen, oder sollten die Übergabewerte den falschen Typ haben, wird uns der Compiler einen Fehler melden.
Im Beispiel haben wir also zwei Pflichtwerte zu übergeben. Das Beispiel können wir jetzt um optionale Parameter erweitern.
Optionale Parameter gibt es in zwei Varianten: solche die wir durch ihre Position definieren und solche die wir durch einen Namen, Bezeichner ansprechen. Beide Varianten in einer Funktion implementieren zu wollen, führt zu einem Fehler!
Der optionale Übergabewert ist im Beispiel oben, wohnOrt. Er definiert sich durch seinen Platz in der Kette. In unserem Fall, wird der dritte Übergabewert immer der Variablen wohnOrt zugewiesen.
Man beachte hier auch die [] Klammern, ich welchem sich der optionale Parameter befinden muss.
Es ist aber durchaus möglich, das wir den optionalen Parameter initialisieren möchten. Das geschieht über eine = Zuweisung. Rechts initialisieren wir die Variable wohnOrt mit Westeros. Der Form halber ist noch zu erwähnen, das natürlich auch mehrere optionale Parameter möglich sind.
Im Code oben sehen wir einen benannten Parameter, also einen der durch einen Bezeichner identifiziert werden kann. Im Beispiel hier, durch wohnOrt. Für diese Variante befindet sich der Code in {..} Klammern.
Der Unterschied liegt in der Lesbarkeit des Codes. Im Falle des benannten optionalen Parameters ist beim lesen des Funktionsaufrufs sofort klar, welche Übergabewerte Pflicht und welche optional sind.
Schaut man auf Flutter, ich gehe davon aus das dies ein Begriff für Dart Interessierte ist, dann wird dort sehr intensiv mit benannten Parametern gearbeitet.
In diesem Artikel geht es um Parameter, also Übergabewerte.
Nicht wenige Funktionen verrichten ihre Arbeit nur, wenn wir Ihnen einen, oder mehrere Werte beim Aufruf übergeben.
Dabei kann jede Funktion zwei Arten von Parametern übernehmen: benötige(Pflicht) Werte und optionale. Beispiel:
Funktion mit Parametern |
Sollten wir diese Funktion ohne, oder mit nur einem Parameter aufrufen, oder sollten die Übergabewerte den falschen Typ haben, wird uns der Compiler einen Fehler melden.
Im Beispiel haben wir also zwei Pflichtwerte zu übergeben. Das Beispiel können wir jetzt um optionale Parameter erweitern.
Optionale Parameter gibt es in zwei Varianten: solche die wir durch ihre Position definieren und solche die wir durch einen Namen, Bezeichner ansprechen. Beide Varianten in einer Funktion implementieren zu wollen, führt zu einem Fehler!
optionaler, positionaler Parameter in Dart |
Der optionale Übergabewert ist im Beispiel oben, wohnOrt. Er definiert sich durch seinen Platz in der Kette. In unserem Fall, wird der dritte Übergabewert immer der Variablen wohnOrt zugewiesen.
Man beachte hier auch die [] Klammern, ich welchem sich der optionale Parameter befinden muss.
Es ist aber durchaus möglich, das wir den optionalen Parameter initialisieren möchten. Das geschieht über eine = Zuweisung. Rechts initialisieren wir die Variable wohnOrt mit Westeros. Der Form halber ist noch zu erwähnen, das natürlich auch mehrere optionale Parameter möglich sind.
optionale, benannte Parameter |
Im Code oben sehen wir einen benannten Parameter, also einen der durch einen Bezeichner identifiziert werden kann. Im Beispiel hier, durch wohnOrt. Für diese Variante befindet sich der Code in {..} Klammern.
Wenn man sich das jetzt alles so anschaut, kann man sich fragen: Wo liegt der Unterschied ??
Schaut man auf Flutter, ich gehe davon aus das dies ein Begriff für Dart Interessierte ist, dann wird dort sehr intensiv mit benannten Parametern gearbeitet.
Kommentare
Kommentar veröffentlichen