Junior — Middle
Ποια λειτουργίες και εργαλεία για την εργασία με null safety εισήχθησαν στο Dart 2.12;
sobes.tech AI
Απάντηση από AI
Στο Dart 2.12 εισήχθη η υποστήριξη για null safety — ένα σύστημα που βοηθά στην αποφυγή σφαλμάτων που σχετίζονται με τιμές null. Βασικές λειτουργίες και εργαλεία:
- Τύποι nullable και non-nullable: κατά προεπιλογή, οι τύποι δεν μπορούν να είναι null για να αποφευχθούν σφάλματα NullPointerException. Για να επιτραπεί null, χρησιμοποιείται το
?, π.χ.,String?. - Τελεστές ελέγχου null:
!(επιβεβαίωση ότι δεν είναι null),??(τελεστής "αν null"),?.(ασφαλής κλήση μεθόδου ή ιδιότητας). - Ανάλυση χρόνου μεταγλώττισης: ο μεταγλωττιστής ελέγχει ότι οι μεταβλητές δεν χρησιμοποιούνται χωρίς αρχικοποίηση ή έλεγχο null.
Παράδειγμα:
String? name; // μπορεί να είναι null
void greet() {
if (name != null) {
print('Γειά σου, ${name!}'); // ! λέει στον μεταγλωττιστή ότι το name δεν είναι null
} else {
print('Γειά σου, επισκέπτη');
}
}