8. Conditions

Pour ce qui est des conditions ou control flow, Dart ne sera pas bien différent des autres langages.

var name = "Sophia";
var letterToCheck = "a";

if (name.contains(letterToCheck)) {
 print("Sophia possede la lettre $letterToCheck");
} else {
 print("Sophia ne possède pas la lettre $letterToCheck");
}

Rien de bien nouveau ou différent sur le if else en Dart. Si besoin, vous pouvez faire cette condition en Elvis Operator.

name.contains(letterToCheck)
 ? print("Sophia possède la lettre $letterToCheck")
 : print("Sophia ne possède pas la lettre $letterToCheck");

Vous pouvez checker le type d’une variable si besoin, pratique quand vous utilisez des dynamic.

dynamic x = 3;
x = "Sophia";
if (x is String) {
 print("x variable is a string");
}

Il existe aussi le do while. La valeur de value1 détermine la répétition ou non du code dans le do. Dans tous les cas, le code dans le do est exécuté au moins une fois.

var value1 = true;
do {
 print("Une operation dans do");
 value1 = false;
} while (value1);

Si vous souhaitez arrêter dans un while il est possible d’ajouter un break. Ce mot clé va nous servir ensuite pour un autre type de test de condition.

var value2 = true;
while (true) {
 if (value2);
 break;
 print("Ce message ne s'affiche que si value2 est faux");
}

Il y a aussi le switch case. On teste les valeurs possibles d’une variable et on exécute un code dès que cette valeur est rencontrée, afin de ne pas continuer à tester toutes les autres conditions une fois que la bonne a été trouvée, on ajoute un break dans le but de stopper la condition après la fonctionnalité à faire.

var command = 'OPEN';
switch (command) {
 case 'CLOSED':
 print('CLOSED');
 break;
 case 'OPEN':
 print('OPEN');
 break;
 default:
 print('OTHER');
}