null - flutter-tutorial-de/dart-basics-tutorial GitHub Wiki
In der Programmierung tritt öfter der Fall auf, dass wir einen speziellen Wert für einen Datentyp brauchen, wir nennen diesen undefiniert. Dieser Wert muss sich von allen anderen Werten des Datentyps unterscheiden.
In Dart gibt es diese Möglichkeit, der Wert wird mit dem Schlüsselwort null bezeichnet.
Wird eine Variable vereinbart und dieser kein expliziter Wert zugeteilt, so bekommt die Variable den Wert null. Dies gilt auch für optionale und benannte Parameter in Funktionen und Methoden.
int number;
String name;
Person person;
String setName(String nachname, [String vorname]){ ... }
- Die Ganzzahl
number, der Stringnameund die Variablepersonder KlassePersonhaben automatisch den Wert null. - Ein Aufruf von
setName()bekommtnachnameimmer einen Wert, da der Parameter nicht optional oder benannt ist. - Der
vornameist optional. Wird er beim Aufruf nicht besetzt, ist der Wert automatisch null.
- Der Operator
??ist äußerst praktisch, da er eine Kurzschreibweise ist:
full = (vorname ?? 'Hans') + ' ' + (name ?? 'Mustermann'); // Ausgeschrieben full = (vorname == null ? 'Hans' : vorname) + ' ' + (name == null ? '' : 'Mustermann');
- Der Operator
??prüft, ob der Wert davor null ist. Wenn nein, wird dieser Wert geliefert. Ist er aber null wird der Wert nach dem Operator geliefert. - Der Kombinationsoperator
??=funktioniert analog:
name ??= 'Mustermann';
// Das ist das gleiche wie:
name = name != null ? name : 'Mustermann';
// Oder noch anderst formuliert:
if (name == null) {
name = 'Mustermann';
}
Weiter geht es mit Kapitel enum.