Sobes.tech
Junior

Μιλήστε για τους τελεστές στη γλώσσα προγραμματισμού Dart.

sobes.tech AI

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

Οι τελεστές στη Dart χρησιμοποιούνται για την εκτέλεση λειτουργιών πάνω σε μεταβλητές και τιμές.

Οι κύριες κατηγορίες τελεστών:

  • Ανάθεση: Αναθέτουν μια τιμή σε μια μεταβλητή.
    int a = 10; // Ανάθεση
    a += 5; // a = a + 5
    a ??= 0; // Ανάθεση 0 αν το a είναι null
    
  • Αριθμητικοί: Εκτελούν μαθηματικές λειτουργίες.
    int άθροισμα = 5 + 3;
    int διαφορά = 10 - 2;
    int γινόμενο = 4 * 6;
    double διαίρεση = 15 / 3;
    int υπόλοιπο = 10 % 3; // Υπόλοιπο διαίρεσης
    a++; // Αύξηση
    b--; // Μείωση
    
  • Σχέσεις: Συγκρίνουν δύο τιμές και επιστρέφουν μια boolean τιμή.
    bool είναιΊσο = (5 == 5);
    bool δενΕίναιΊσο = (10 != 5);
    bool είναιΜεγαλύτερο = (7 > 2);
    bool είναιΜικρότερο = (3 < 8);
    bool είναιΜεγαλύτεροΉΊσο = (4 >= 4);
    bool είναιΜικρότεροΉΊσο = (6 <= 10);
    
  • Λογικοί: Εκτελούν λογικές λειτουργίες πάνω σε boolean τιμές.
    bool αποτέλεσμαΚαι = true && false;
    bool αποτέλεσμαΉ = true || false;
    bool αποτέλεσμαΌχι = !true;
    
  • Τύποι: Ελέγχουν τον τύπο ενός αντικειμένου κατά την εκτέλεση.
    var τοαντικείμενόΜου = "Γειά";
    bool είναιString = τοαντικείμενόΜου is String; // Έλεγχος τύπου
    bool είναιInt = τοαντικείμενόΜου is int;
    String? ίσωςΕίναιString;
    int? αποτέλεσμα = ίσωςΕίναιString as int?; // Ανασφαλής μετατροπή τύπου
    
  • Προϋποθέσεις: Επιτρέπουν την εκτέλεση κώδικα ανάλογα με μια συνθήκη.
    var x = 10;
    var y = (x > 5) ? "μεγαλύτερο από 5" : "μικρότερο ή ίσο με 5"; // Τεραναριακός τελεστής
    var z = null;
    var αξία = z ?? "τιμή προεπιλογής"; // Τελεστής '??'
    
  • Τελεστές σε αλυσίδα (..): Επιτρέπουν την κλήση πολλαπλών μεθόδων ή την ανάθεση τιμών σε ιδιότητες ενός ίδιου αντικειμένου σε σειρά.
    var sb = StringBuffer();
    sb..write("Γειά")
      ..write(" ")
      ..write("κόσμε!");
    
  • Ασφαλής πρόσβαση σε null (?): Χρησιμοποιείται για την αποτροπή σφαλμάτων κατά την εργασία με nullable τύπους.
    String? nullableString;
    int? μήκος = nullableString?.length; // Επιστρέφει null αν το nullableString είναι null
    
  • Τελεστής διασποράς (... / ...?): Χρησιμοποιείται για την ενσωμάτωση όλων των στοιχείων μιας λίστας σε μια άλλη λίστα. Το ...? είναι ασφαλές για null.
    var λίστα1 = [1, 2, 3];
    var λίστα2 = [0, ...λίστα1, 4]; // [0, 1, 2, 3, 4]
    var nullableList = null;
    var λίστα3 = [0, ...?nullableList, 4]; // [0, 4]
    

Η σειρά προτεραιότητας των τελεστών (προτεραιότητα) καθορίζει με ποια σειρά εκτελούνται οι λειτουργίες σε μια έκφραση.