Назад к вопросам
Junior
219
questionbank

Расскажите об операторах в языке программирования Dart.

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech 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?; // Приведение типа (unsafe)
    
  • Условные: Позволяют выполнять код в зависимости от условия.
    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; // Возвращает null, если nullableString равен 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]
    

Порядок выполнения операторов (приоритет) определяет, в каком порядке выполняются операции в выражении.