Grundlegende Null-Sicherheit
Teil des Abschnitts Grundlagen der Dart-Journey von Coddy — Lektion 14 von 94.
Null safety hilft, unerwartete App-Abstürze zu verhindern, indem es steuert, welche Variablen leer (null) sein können.
Standardmäßig müssen Variablen einen Wert enthalten:
void main() {
String name = 'Dart';
print(name); // Outputs: Dart
// This would cause problems:
// name = null; // Not allowed
}Fügen Sie ? nach dem Typ hinzu, um Nullwerte zuzulassen:
void main() {
String? name = 'Dart';
print(name); // Gibt aus: Dart
// Nun können wir null zuweisen
name = null;
print(name); // Gibt aus: null
}Sie können nullable Variablen beliebiger Typen deklarieren:
void main() {
int? age; // Kein Anfangswert, Standardmäßig null
double? price = 19.99;
bool? isAvailable = true;
print(age); // Gibt aus: null
print(price); // Gibt aus: 19.99
print(isAvailable); // Gibt aus: true
// Wir können jeden dieser Werte auf null setzen
price = null;
isAvailable = null;
}
Null-Sicherheit hilft, Ihre App vor unerwarteten Abstürzen zu schützen, die auftreten, wenn Ihr Code versucht, Null-Werte in Operationen zu verwenden.
Aufgabe
AnfängerErstellen Sie ein Dart-Programm, das die grundlegende Null-Sicherheit mit dem ?-Operator demonstriert:
- Deklarieren Sie eine String-Variable namens
usernameund setzen Sie sie aufnullmit dem Null-Sicherheitsoperator?(String?) - Deklarieren Sie eine int-Variable namens
userAgeund setzen Sie sie aufnullmit dem Null-Sicherheitsoperator - Geben Sie beide Variablen mit Beschriftungen im GENAU folgenden Format aus:
Username: null
User age: nullDann:
- Weisen Sie den Wert
"DartLearner"derusername-Variable zu - Weisen Sie den Wert
25deruserAge-Variable zu - Geben Sie beide Variablen erneut mit dem GENAU gleichen Format wie zuvor aus
Ihre Ausgabe muss dem oben gezeigten genauen Format entsprechen.
Spickzettel
Standardmäßig können Dart-Variablen nicht null sein. Fügen Sie ? nach dem Typ hinzu, um Null-Werte zu erlauben:
// Non-nullable (default)
String name = 'Dart';
// Nullable with ?
String? name = 'Dart';
name = null; // Now allowedSie können nullbare Variablen von jedem Typ deklarieren:
int? age; // Defaults to null
double? price = 19.99;
bool? isAvailable = true;
// All can be set to null
price = null;
isAvailable = null;Probier es selbst
void main() {
// Deklariere deine nullable Variablen hier
String? username = ?;
int? userAge = ?;
// Drucke die anfänglichen Werte mit Beschriftungen aus
print("Username: " + username.toString());
print("User age: " + userAge.toString());
// Weise neue Werte den Variablen zu
username = ?;
userAge = ?;
// Drucke die aktualisierten Werte mit denselben Beschriftungen aus
print("Username: " + username.toString());
print("User age: " + userAge.toString());
}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