Kodokon kodokon.com

Dart-Grundlagen: Variablen, Funktionen und Null-Sicherheit

Lerne, Werte in typisierten Variablen zu speichern, Funktionen zu schreiben und den Schutz vor null zu verstehen.

10 Min. · 3 Fragen

Diese Lektion in Kodokon öffnen

Bevor wir Bildschirme bauen, lernen wir die Grundlagen von Dart, der Sprache von Flutter. Eine Variable ist eine beschriftete Kiste im Speicher des Computers, in der du einen Wert ablegst, um ihn später wiederzuverwenden. In Dart hat jede Variable einen Typ: die Art dessen, was sie enthalten kann. Die vier häufigsten Typen sind int (eine ganze Zahl, wie 28), double (eine Dezimalzahl, wie 1.65), String (eine Zeichenkette, also Text zwischen Anführungszeichen) und bool (ein Wahrheitswert: entweder true oder false). Mit dem Schlüsselwort var findet Dart den Typ selbst anhand des Werts heraus, den du angibst.

DART
void main() {
  var name = "Camille";
  int age = 28;
  double height = 1.65;
  bool isStudent = true;
  print(name);
  print(age);
  print(height);
  print(isStudent);
}
Vier Variablen deklarieren und ausgeben

print zeigt einen Wert in der Konsole an, dem Textbereich, in den das Programm seine Meldungen schreibt: sehr praktisch, um zu prüfen, was gerade passiert. Um eine Variable mitten in einen Text einzufügen, bietet Dart die Interpolation: Setze das Zeichen $ direkt in der Zeichenkette vor den Namen der Variable. Ein weiteres nützliches Schlüsselwort, final, deklariert eine Variable, die sich nach ihrem ersten Wert nie wieder ändern kann: Verwende es, sobald ein Wert sich nicht entwickeln soll.

DART
void main() {
  final city = "Lyon";
  var temperature = 21;
  print("In $city, it is $temperature degrees.");
}
Die Interpolation fügt Variablen in Text ein

Eine Funktion ist ein kleiner wiederverwendbarer Codeblock, der einen Namen hat, Parameter entgegennehmen kann (Eingabewerte, in Klammern) und mit dem Schlüsselwort return ein Ergebnis zurückgeben kann. Du deklarierst sie, indem du zuerst den Typ des Ergebnisses schreibst, dann ihren Namen, dann ihre Parameter. Der Typ void bedeutet "gibt nichts zurück": Das ist bei main der Fall, dem Einstiegspunkt des Programms.

DART
int add(int a, int b) {
  return a + b;
}

String greet(String name) {
  return "Hello, $name!";
}

void main() {
  print(add(2, 3));
  print(greet("Nadia"));
}
Zwei Funktionen: eine gibt eine Zahl zurück, die andere Text

Ein letztes Schlüsselkonzept: die Null-Sicherheit (null safety). null ist ein besonderer Wert, der "nichts, kein Wert" bedeutet. Vergessene null-Werte waren historisch eine der häufigsten Ursachen für App-Abstürze. Dart schützt dich: Standardmäßig kann eine Variable kein null enthalten. Um es ausdrücklich zu erlauben, hängst du ein Fragezeichen an den Typ: String? liest sich als "eine Zeichenkette, oder nichts". Der Operator ?? liefert dann einen Ersatzwert, der nur verwendet wird, wenn die Variable null ist.

DART
void main() {
  String? nickname;
  print(nickname ?? "No nickname yet");
  nickname = "Momo";
  print(nickname);
}
Das ? erlaubt null, das ?? liefert einen Ersatzwert

Wissenscheck

Stelle sicher, dass du die wichtigsten Punkte dieser Lektion behalten hast.

  1. Welcher Dart-Typ eignet sich, um wahr oder falsch zu speichern?
    • int
    • String
    • bool
    • double
  2. Was bedeutet die Deklaration String? nickname?
    • Die Variable nickname kann Text oder null enthalten
    • Die Variable nickname ist erforderlich und muss ausgefüllt werden
    • Der Compiler muss den Typ von nickname erraten
  3. Was gibt print(add(2, 3)) bei int add(int a, int b) { return a + b; } aus?
    • 2 + 3
    • 5
    • Einen Kompilierfehler