Sobes.tech
Junior

дар бораи операторҳо дар забони барномасозии Dart гап занед.

sobes.tech AI

Ҷавоб аз AI

Операторҳо дар Dart барои иҷрои амалҳо бар рӯи тағйирёбандаҳо ва арзишҳо истифода мешаванд.

Категорияҳои асосии операторҳо:

  • Таъин: арзишро ба тағйирёбанда таъин мекунад.
    int a = 10; // Таъин
    a += 5; // a = a + 5
    a ??= 0; // Таъин кардани 0 агар a null бошад
    
  • Арифметикӣ: амалҳои математикӣ иҷро мекунанд.
    int sum = 5 + 3;
    int diff = 10 - 2;
    int prod = 4 * 6;
    double div = 15 / 3;
    int rem = 10 % 3; // Остаток аз тақсим
    a++; // Инкремент
    b--; // Декремент
    
  • Муносибат: ду арзишро муқоиса мекунанд ва арзиши булӣ бармегардонанд.
    bool isEqual = (5 == 5);
    bool isNotEqual = (10 != 5);
    bool isGreater = (7 > 2);
    bool isLess = (3 < 8);
    bool isGreaterOrEqual = (4 >= 4);
    bool isLessOrEqual = (6 <= 10);
    
  • Логикӣ: амалҳои логикӣ бар рӯи арзишҳои булӣ иҷро мекунад.
    bool andResult = true && false;
    bool orResult = true || false;
    bool notResult = !true;
    
  • Намудӣ: намуди объектро дар вақти иҷро санҷида мекунад.
    var myObject = "Hello";
    bool isString = myObject is String; // Санҷиши намуд
    bool isInt = myObject is int;
    String? maybeString;
    int? result = maybeString as int?; // Табдили намуд (бехатар нест)
    
  • Шартӣ: имкон медиҳад, ки код вобаста ба шарте иҷро шавад.
    var x = 10;
    var y = (x > 5) ? "бештар аз 5" : "камтар ё баробар 5"; // Тернарӣ
    var z = null;
    var value = z ?? "арзиши пешфарз"; // Оператор '??'
    
  • Каскадӣ (...): имкон медиҳад, ки чанд метод ё арзиш ба хусусиятҳои як объект пай дар пай таъин карда шаванд.
    var sb = StringBuffer();
    sb..write("Hello")
      ..write(" ")
      ..write("World!");
    
  • Бехатарии дастрасӣ ба null (?): барои пешгирӣ кардани хатоҳо дар кор бо намудҳои nullable истифода мешавад.
    String? nullableString;
    int? length = nullableString?.length; // Вақте ки nullableString null бошад, null бармегардонад
    
  • Оператор паҳнкунӣ (... / ...?): барои дохил кардани ҳамаи унсурҳои рӯйхат ба рӯйхати дигар истифода мешавад. ...? бехатар аст барои null.
    var list1 = [1, 2, 3];
    var list2 = [0, ...list1, 4]; // [0, 1, 2, 3, 4]
    var nullableList = null;
    var list3 = [0, ...?nullableList, 4]; // [0, 4]
    

Тартиби иҷрои операторҳо (приоритет) муайян мекунад, ки дар кадом тартиб амалҳо дар израз иҷро мешаванд.