Sobes.tech
Junior

Ποιοι τελεστές υπάρχουν στο Null-safety;

sobes.tech AI

Απάντηση από AI

Στο Flutter με Null Safety, χρησιμοποιούνται οι ακόλουθοι τελεστές που σχετίζονται με nullable τύπους:

  • ? (Ερωτηματικό): Δηλώνει μια μεταβλητή ως nullable.

    String? nullableString; // Η μεταβλητή μπορεί να περιέχει String ή null
    
  • ! (Τελεστής θαυμαστικού / Assert μη-null): Διασφαλίζει στον μεταγλωττιστή ότι η τιμή δεν είναι null σε αυτό το σημείο. Πρέπει να χρησιμοποιείται με προσοχή, καθώς μπορεί να προκαλέσει σφάλμα κατά την εκτέλεση αν η τιμή είναι null.

    String nonNullableString = nullableString!; // Διασφαλίζουμε ότι το nullableString δεν είναι null
    
  • ?? (Τελεστής συγχώνευσης null): Παρέχει μια εναλλακτική τιμή αν η αριστερή έκφραση είναι null.

    String result = nullableString ?? "Default Value"; // Αν το nullableString είναι null, το result θα είναι "Default Value"
    
  • ??= (Τελεστής ανάθεσης συγχώνευσης null): Αναθέτει μια τιμή σε μια μεταβλητή μόνο αν αυτή είναι null.

    String? variable;
    variable ??= "Initial Value"; // Αν η variable είναι null, της ανατίθεται "Initial Value"
    
  • ?. (Τελεστής ασφαλούς πρόσβασης): Επιτρέπει ασφαλή πρόσβαση σε μέλη ενός αντικειμένου που μπορεί να είναι null. Αν το αντικείμενο είναι null, η έκφραση επιστρέφει null.

    String? nullableString;
    int? length = nullableString?.length; // Αν το nullableString είναι null, το length θα είναι null
    
  • ?[] (Τελεστής ασφαλούς δείκτη): Επιτρέπει ασφαλή πρόσβαση σε στοιχεία μιας λίστας ή ενός Map που μπορεί να είναι null. Αν η λίστα ή το Map είναι null, η έκφραση επιστρέφει null.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Αν η nullableList είναι null, το firstElement θα είναι null