Sobes.tech
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('Γειά σου, επισκέπτη');
  }
}