1/Путь к первому мобильному приложению. Часть 1.5 - Изучаем язык Dart: Условные конструкции и циклы

Условные конструкции

if...else позволяет выбрать какое условие выполнять в зависимости от условия, либо группы условий. Проверка идёт по порядку указания в коде от if ( ) до else (если есть выполняется при непопадании в ранее указанные условия) проверяя все указанные варианты if else ( )

case...switch позволяет выполнить часть кода в зависимости от конкретного совпадения переменной указанной в switch со значением в case, также имеет возможность выполнения кода при несоблюдении условий - default, и позволяет переходить с части кода одного условия к другой при помощи continue.

// If
if ( true ) {
  print ( 'true' );
}
else if ( false ) {
  print ( 'false' );
}
else {
  print ( 'null' );
}
  
// Case
Function funcCase ( String command ) {
  switch (command) {
    case 'BREAK':
      print ( 'break' );
      continue nowClosed;
    nowClosed:
    case 'CLOSED':
      print ( 'closed' );
      break;
    case 'OPEN':
    case 'OPENED':
      print ( 'open OR opened' );
      break;
    default:
      print ( 'unknown' );
  }
}
funcCase ( 'CLOSED' ); // closed
funcCase ( 'OPEN' ); // open OR opened
funcCase ( 'OPENED' ); // open OR opened
funcCase ( 'BREAK' );
// break
// closed

Циклы

 
  // For
  for (var i = 0; i < 5; i++) {
    print('!$i');
  }
  // !0
  // !1
  // !2
  // !3
  // !4
  var listFor = [1,2,3];
  for ( var i in listFor ) {
    print ( 'i=$i' );
  }
  // i=1
  // i=2
  // i=3
  var callbacks = [];
  for (var i = 0; i < 2; i++) {
    callbacks.add(() => print(i));
  }
  callbacks.forEach((c) => c());
  // 0
  // 1
  
  // While
  var whileInt = 5;
  while (whileInt > 2) {
    print ( whileInt-- );
  }
  // 5
  // 4
  // 3
  do {
    print ( whileInt++ );
  } while ( whileInt <= 5 );
  // 2
  // 3
  // 4
  // 5
  
  // Break & continue
  while (true) {
    whileInt--;
    if ( whileInt == 2 )
      break;
    else if ( whileInt == 4 )
      continue;
    print ( whileInt );
  }
  // 5
  // 3