null - flutter-tutorial-de/dart-basics-tutorial GitHub Wiki

Motivation

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 String name und die Variable person der Klasse Person haben automatisch den Wert null.
  • Ein Aufruf von setName() bekommt nachname immer einen Wert, da der Parameter nicht optional oder benannt ist.
  • Der vorname ist optional. Wird er beim Aufruf nicht besetzt, ist der Wert automatisch null.
Hinweis: Die Vorbelegung einer Variablen mit null gilt nur im Dart 1.0. Mit 2.0 wurde der "Sound" "Null Safety" eingeführt. Das wird im Kapitel Sound-Null-Safety erklärt. Für das einfache Verständnis von null nehmen wir das einfachere Modell.

Operatoren mit 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.
⚠️ **GitHub.com Fallback** ⚠️