Null-bewusster Zugriff
Teil des Abschnitts Grundlagen der Dart-Journey von Coddy — Lektion 29 von 94.
Der null-sichere Zugriffsoperator (?.) greift sicher auf Eigenschaften potenziell nuller Objekte zu und verhindert Laufzeitfehler.
void main() {
String? name = 'Dart';
int? length = name?.length;
print('Name: $name');
print('Length: $length');
}Bei Null-Werten gibt es null zurück, anstatt abzustürzen:
void main() {
String? name = null;
int? length = name?.length;
print('Name: $name');
print('Length: $length');
}Aufgabe
EinfachErstellen Sie ein Dart-Programm, das den null-bewussten Zugriffsoperator (?.) mit einer Spielfigur demonstriert:
- Erstellen Sie eine nullable String-Variable namens
playerNameund setzen Sie sie auf null - Erstellen Sie eine nullable int-Variable namens
playerScoreund setzen Sie sie auf 100 - Verwenden Sie den null-bewussten Zugriffsoperator (
?.), um die Länge von playerName zu erhalten und speichern Sie sie in einer Variable namensnameLength - Geben Sie die folgende Nachricht aus:
Player name length: X(wobei X der Wert von nameLength ist) - Aktualisieren Sie
playerNameauf "Champion" - Verwenden Sie den null-bewussten Zugriffsoperator erneut, um die aktualisierte Länge zu erhalten und speichern Sie sie in
nameLength - Geben Sie die aktualisierte Nachricht aus:
Player name length: X(wobei X der neue Wert ist) - Geben Sie die Punktzahl des Spielers mit diesem Format aus:
Player score: 100
Spickzettel
Der null-bewusste Zugriffsoperator (?.) greift sicher auf Eigenschaften potenziell nuller Objekte zu und verhindert Laufzeitfehler.
Wenn das Objekt nicht null ist, gibt es den Eigenschaftswert zurück:
String? name = 'Dart';
int? length = name?.length; // Returns 4Wenn das Objekt null ist, gibt es null zurück, anstatt abzustürzen:
String? name = null;
int? length = name?.length; // Returns nullProbier es selbst
void main() {
// Deklariere deine nullbaren Variablen hier
String? playerName = _;
int? playerScore = _;
// Hole die Länge von playerName mit dem ?. Operator
int? nameLength = playerName_.length;
// Drucke die anfängliche Namenslänge
print("Player name length: ${nameLength}");
// Aktualisiere den playerName
playerName = _;
// Hole die aktualisierte Länge mit dem ?. Operator
nameLength = playerName_.length;
// Drucke die aktualisierte Namenslänge
print("Player name length: ${nameLength}");
// Drucke die Punktzahl des Spielers
print("Player score: ${playerScore}");
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
VergleichsoperatorenLogischer UNDLogischer ODERLogischer NICHTTypprüfoperatorenZusammenfassung - Vergleiche durchführen7Arbeiten mit Strings
String-KonkatenationString-InterpolationMehrzeilige StringsString-EigenschaftenGrundlegende String-Methoden10Sammlungen - Grundlagen von Maps
Was sind Maps?Eine Map erstellenWerte per Schlüssel abrufenSchlüssel-Wert-PaareGröße einer Map ermittelnSchlüssel abrufenWerte abrufenPrüfen, ob ein Schlüssel existiert13Null-Sicherheit im Detail
Null verstehenNullable-TypenNon-Nullable-TypenNull-Assertion-OperatorLate-InitialisierungZusammenfassung - Null sicher handhaben16Grundlagenherausforderungen
Herausforderung: Liste von BerechnungenHerausforderung: Summe von ZahlenHerausforderung: Produkt finden2Variablen und grundlegende Datentypen
Was sind Variablen?StringsGanzzahlen (int)Gleitkommazahlen (double)Boolesche Werte (bool)Typinferenz mit 'var'Finale VariablenKonstante VariablenNamenskonventionenGrundlegende Null-SicherheitZusammenfassung - Variablen deklarieren8Kontrollfluss - Schleifen
Die 'for'-SchleifeDie 'while'-SchleifeDie 'do-while'-Schleife'break' in Schleifen verwenden'continue' in Schleifen verwendenZusammenfassung - Code wiederholen3Operatoren Teil 1
Arithmetische OperatorenGanzzahldivisionModulo-OperatorInkrement und DekrementZuweisungsabkürzungenZusammenfassung - Einfache Berechnungen6Steuerfluss - Entscheidungen
Die 'if'-AnweisungDie 'else'-AnweisungDie 'else if'-AnweisungZusammenfassung - Einfache EntscheidungenVerschachtelte 'if'-AnweisungenDie 'switch'-Anweisung9Sammlungen – Listen-Grundlagen
Was sind Listen?Eine Liste erstellenZugriff per IndexListenlänge ermittelnElemente hinzufügenElemente entfernenPrüfen, ob eine Liste leer istÜber eine Liste iterieren12Erweiterte Funktionen
Optionale Positions-ParameterBenannte ParameterErforderliche benannte ParameterStandardwerte für ParameterZusammenfassung - Funktionsparameter15Projekt: Einfacher Rechner
EinrichtenZahl deklarieren