Les conditionnelles dans Flutter
Il arrivera surement des cas de figure où vous aurez besoin qu’une action différente soit réalisée selon la valeur d’une variable. Par exemple, montrer une page de bienvenue si c’est la première fois qu’un utilisateur se connecte, et montrer directement la homepage si ce n’est pas la première fois.
Pour cela, vous allez donc pouvoir utiliser les opérateurs de condition if et else. If veut dire qu’une action va se réaliser si une condition se trouve être vrai. Else, veut dire “autre” et c’est la fonction que vous aurez écrite entre ses accolades, qui se déclenchera si jamais la condition if n’est pas vérifiée. Par exemple :
int chiffre = 8;
if(chiffre == 7){
print('mon chiffre vaut 7');
}
else {
print('mon chiffre ne vaut pas 7')
};
↪ mon chiffre ne vaut pas 7
Vérifier plus d’une condition
Il arrive parfois que l’on ait besoin de couvrir plusieurs cas de figure, ou d’additionner des conditions, voire les deux à la fois.
OU
Il peut arriver que vous souhaitiez qu’une fonction se déclenche si une variable a une valeur ou bien une autre. Dans ce cas, il vous suffit de mettre toutes vos conditions dans les parenthèses, en les séparant par deux barres verticales ||. Voici un exemple :
String fruit = 'orange'
if(fruit == 'pomme' || fruit =='orange'){
print('Je vais la manger');
}
↪ Je vais la manger
Ici le message va bien s’afficher dans la console de débogage, puisque au moins une des deux conditions est vraie.
ET
Dans le cas où vous souhaitez que deux, ou plusieurs conditions se vérifient pour qu’une fonction se lance, il vous suffit de faire comme pour les conditions en OU, mais avec &&. Voici un exemple :
String fruit1 = 'pomme'
String fruit2 = 'orange'
if(fruit1 == 'pomme' && fruit2 =='orange'){
print('Je vais manger les deux');
}
↪ Je vais manger les deux
Ici le message va bien s’afficher dans la console de débogage, puisque les deux conditions sont vraies. fruit1 a bien une valeur de pomme et fruit2, une valeur de orange.
OU + ET
Enfin, il est possible de mixer des conditions ET et OU dans un même if. Voici un exemple :
int chiffre1 = 6
int chiffre2 = 3
if( (chiffre1 = 6 && chiffre2 = 3) || (chiffre1 + chiffre2 == 10){
print('L’une des deux affirmations est vraie');
}
↪ L’une des deux affirmations est vraie
Ici, l’une des deux conditions est respectée (Mes valeurs sont bien 6 et 3). Mon message apparaît donc correctement dans la console de débogage.
Utiliser la méthode switch/case/break
En plus des conditions avec if
et else
, Flutter offre une autre manière de gérer les conditions multiples : la méthode switch/case
. Cette approche est souvent utilisée lorsque vous avez plusieurs valeurs possibles pour une même variable, et que vous souhaitez exécuter un bloc de code spécifique pour chaque valeur.
La syntaxe de la méthode switch
est plus lisible et concise que plusieurs conditions if/else
imbriquées, surtout lorsque vous avez beaucoup de cas différents. Voici comment cela fonctionne :
- Vous utilisez
switch
suivi de la variable à tester. - Ensuite, pour chaque valeur possible de cette variable, vous utilisez
case
suivi de cette valeur, puis les actions à exécuter. - Enfin, il est important de terminer chaque cas avec
break
, pour éviter que l’exécution ne continue vers les autres cas. - Si aucune des valeurs ne correspond, vous pouvez utiliser
default
pour exécuter un bloc de code par défaut.
Voici un exemple pour mieux comprendre comment utiliser ces trois fonctions :
String jour = 'lundi';
switch (jour) {
case 'lundi':
print('Début de la semaine');
break;
case 'mardi':
print('Deuxième jour');
break;
case 'mercredi':
print('Milieu de la semaine');
break;
case 'jeudi':
print('Presque la fin');
break;
case 'vendredi':
print('Fin de semaine');
break;
case 'samedi':
print('C’est le week-end');
break;
case 'dimanche':
print('C’est le week-end');
break;
default:
print('Jour inconnu');
}
↪ Début de la semaine
Conclusion
En conclusion, être capable de réaliser différentes actions selon une ou plusieurs conditions est une notion fondamentale à maîtriser pour coder une application dans Flutter. Cette notion est d’autant plus puissante à utiliser lorsque vous la mêlez à des boucles, qui sont la notion présentée dans l’article qui suit :