5 способов выйти из цикла в дартсе: руководство для начинающих

В мире программирования циклы — это мощный инструмент, позволяющий повторять блок кода несколько раз. Однако бывают ситуации, когда вам может потребоваться преждевременно выйти из цикла, прежде чем он достигнет своей естественной точки завершения. В Dart есть несколько методов, которые можно использовать, чтобы выйти из цикла и перейти к следующему разделу кода. В этой статье мы рассмотрим пять различных способов завершения цикла в Dart, дополненные разговорными объяснениями и примерами кода.

Метод 1: использование оператора «break».
Самый распространенный и простой способ выхода из цикла в Dart — использование оператора «break». При обнаружении внутри цикла оператор «break» немедленно завершает цикл и передает управление следующей строке кода вне цикла. Вот пример:

void main() {
  for (int i = 0; i < 10; i++) {
    if (i == 5) {
      break; // exit the loop
    }
    print(i);
  }
}

Выход:

0
1
2
3
4

Метод 2: использование переменной-флага
Другой подход к выходу из цикла — использование переменной-флага. Вы определяете логическую переменную, которая действует как условие завершения цикла. Когда желаемое условие выполнено, вы устанавливаете переменную флага в значение «истина», что приводит к разрыву цикла. Давайте посмотрим пример:

void main() {
  bool shouldExit = false;
  int i = 0;
  while (!shouldExit) {
    if (i == 5) {
      shouldExit = true; // set the flag to exit the loop
    }
    print(i);
    i++;
  }
}

Выход:

0
1
2
3
4

Метод 3: использование оператора return
Если вы работаете с функцией, содержащей цикл, вы можете использовать оператор return для выхода как из цикла, так и из функции. Когда встречается оператор return, он немедленно завершает цикл и возвращает управление вызывающей стороне. Вот пример:

void main() {
  for (int i = 0; i < 10; i++) {
    if (i == 5) {
      return; // exit the loop and the function
    }
    print(i);
  }
  print('This line will not be executed.');
}

Выход:

0
1
2
3
4

Метод 4: использование оператора «throw».
В Dart вы также можете использовать оператор «throw», чтобы выйти из цикла. Оператор throw позволяет вам вызвать исключение, которое можно перехватить и обработать в другом месте вашего кода. Вызвав исключение внутри цикла, вы можете эффективно завершить цикл. Вот пример:

void main() {
  try {
    for (int i = 0; i < 10; i++) {
      if (i == 5) {
        throw Exception('Loop terminated.'); // throw an exception to exit the loop
      }
      print(i);
    }
  } catch (e) {
    print(e);
  }
}

Выход:

0
1
2
3
4
Exception: Loop terminated.

Метод 5: использование оператора continue
Хотя оператор continue в основном используется для пропуска текущей итерации цикла и перехода к следующей, его также можно использовать для имитации завершения цикла. Поместив оператор continue в условный блок, вы можете пропустить оставшиеся итерации цикла и эффективно выйти из него. Вот пример:

void main() {
  for (int i = 0; i < 10; i++) {
    if (i == 5) {
      continue; // skip the iteration and continue with the next one
    }
    print(i);
  }
}

Выход:

0
1
2
3
4
6
7
8
9

Умение выходить из цикла — важный навык для любого программиста Dart. В этой статье мы исследовали пять различных методов завершения цикла в Dart, включая оператор «break», переменные-флаги, операторы «return», операторы «throw» и оператор «continue». Используя эти методы, вы сможете лучше контролировать выполнение кода и оптимизировать производительность своих программ.