À quoi servent les variables dans Flutter ?
Lorsqu’on code avec Flutter, une première notion à comprendre est celle des variables. Les variables sont une valeur qu’on va stocker sous un nom unique, pour pouvoir plus facilement la réutiliser à différents endroits par la suite. Ces valeurs peuvent prendre différentes formes, comme des mots, des chiffres, des listes, etc.
Par exemple, admettons que je souhaite appliquer une couleur spécifique à plusieurs endroits dans mon application. Plutôt que de devoir retenir à chaque fois la valeur RGB de celle-ci, je vais la stocker une fois dans une variable que je vais appeler ma_couleur_favorite et que je pourrai réutiliser à chaque fois que j’en aurai besoin.
Voici donc à quoi servent les variables : Garder en mémoire des éléments, afin de pouvoir les réutiliser à notre guise.
Créer une variable avec Flutter
La première chose à faire avant d’utiliser une variable est de la définir. On va donc devoir lui donner les attributs suivants :
- Un état : final, late ou const (pas toujours obligatoire), qui va définir ;
- Un type : String, int, bool, List, etc ;
- Un nom : Idéalement en snake case comme on l’appelle, c’est-à-dire avec des _ qui viennent remplacer les espaces et tout en minuscule.
- Une valeur : Qui correspond au type de variable (Pas toujours obligatoire non plus). Par exemple, une variable String ne pourra contenir que des mots ou des phrases. Vous ne pourrez pas lui faire contenir un chiffre.
Voici quelques variables d’exemple pour comprendre le principe :
const String my_car = "Peugeot 206";
final int mon_age = 25;
List<String> list_animaux = ["loup", "renard", "belette"] ;
late <bool> ma_future_valeur;
État d’une variable
Cette notion n’est pas simple à comprendre quand on débute, et j’ai encore moi-même du mal avec. Lorsque vous créez une fonction, il est possible de lui donner un “état” qui va définir son comportement.
Si vous vous sentez déjà un peu perdu, ne vous inquiétez pas, tout deviendra plus clair avec un peu de pratique.
Les types de variable
Avant de pouvoir utiliser une variable, vous allez devoir lui attribuer un type. Cette étape est très importante, car le type de votre variable va définir ce que celle-ci peut contenir ou pas. Par exemple, vous ne pourrez pas stocker un chiffre dans une variable qui a été prévu pour stocker du texte.
Il existe tout un tas de variables dans Flutter, permettant de stocker diverses valeurs, mais voici celles que vous serez amené à utiliser le plus souvent.
String
Les variables de type String, vont vous permettre de manipuler des chaînes de caractères, c’est-à-dire aussi bien des lettres, que des mots ou des phrases. On peut ensuite utiliser ces chaînes dans des fonctions, ou pour afficher des messages dans la console.
Par exemple :
String mon_message = "Je débute sur Flutter";
print(mon_message);
↪ Je débute sur Flutter
Une seconde chose qui va être possible avec les variables de type String, est la concaténation. C’est-à-dire, coller deux chaînes de caractères l’une à l’autre, en mettant un signe $ devant notre variable. Par exemple :
String jour = "Mercredi";
print("Aujourd’hui, nous sommes $jour.");
↪ Aujourd’hui, nous sommes Mercredi.
Stocker des mots ou des phrases dans une variable peut être très pratique. Par exemple, cela peut vous servir à personnaliser un message de bienvenu, en y mettant le nom de l’utilisateur que vous aurez récupéré.
Int et double
Les chiffres, quant à eux, sont stockés dans des variables de type int ou bien double. La différence entre l’un et l’autre réside dans le fait que les variables double peuvent contenir des valeurs décimal et pas les int. Par exemple :
int chiffre_rond = 3;
double valeur_decimal = 3.14;
Ces valeurs peuvent ensuite être utilisées pour définir des tailles, des rayons, des marges, etc ou bien faire des calculs comme des additions, soustractions, etc. Enfin, il est intéressant de savoir que les int et les doubles peuvent être incrémentés et décrémentés de manière très simple, c’est-à-dire ajouter ou retirer 1. Par exemple :
int mon_nombre = 20;
mon_nombre ++;
print(mon_nombre);
↪ 21
mon_nombre --;
print(mon_nombre);
↪ 20
Bool
Les variables bool, pour booléen, ne peuvent quant à elle contenir que des valeurs true ou false (vrai ou faux). On va pouvoir beaucoup les utiliser dans deux types de situations.
Pour créer des fonctions avec des conditions :
var booleen = true
if(booleen == true){
print("Ma valeur est vrai");
else(){
print("Ma valeur est faux");
}
↪ Ma valeur est vrai
Ou pour définir quelque chose qui ne peut avoir que deux états. Par exemple, une checkbox, ne peut avoir que deux états, cochée, ou pas cochée. On va donc associer true à une case cochée et false à une case décochée.
List et Map
Enfin, vous serez probablement amené à utiliser des List ainsi que ce qu’on appelle des Maps. Les List comme leur nom l’indique, sont simplement une collection de plusieurs items, qui peuvent parfois être du même type et parfois pas.
- List<String> -> Ma liste ne peut contenir que des chaînes de caractères et rien d’autre ;
- List<dynamic> -> Ma chaîne peut contenir n’importe quoi, y compris d’autres listes.
Les variables listes doivent être présentées sous formes de crochets, comme cela :
List<String> ma_list = ["Pierre", "Paul", "Jacques"];
Les Maps quant à elles, sont des listes de paires, clé : valeur, et s’ouvrent avec des accolades. Voici par exemple une Map, qui pourrait servir à représenter une personne :
Map<dynamic, dynamic> identite = {
"Nom": "Alan Smithee",
"Age": 48,
"Lieu": "Paris",
"Animaux" {
"Chat": 2,
"Chien": 1,
"Poisson": 5
}
}
Je ne vais pas vous présenter ici, comment naviguer dans des Lists et des Maps, ajouter, supprimer ou modifier des éléments. Pour en savoir, rendez vous sur mon article dédié à la Class List et celui dédié à la Class Map.
Conclusion
Comprendre à quoi servent les variables et comment les déclarer est la première étape pour coder en Dart. Toutefois, les créer ne va probablement pas suffire pour faire une application digne de ce nom. C’est pourquoi je vais vous expliquer comment les manipuler, grâce à différents opérateurs, dans l’article suivant :
Les bases de Flutter : Introduction aux opérateurs →
Si vous souhaitez en apprendre plus sur les différentes variables présentées dans cet article, je vous invite également à consulter ces guides détaillés :
- Introduction aux variables dans Flutter : Les Strings ;
- Introduction aux variables dans Flutter : Int et double ;
- Introduction aux variables dans Flutter : Les booléens (Vrai/faux) ;
- Introduction aux variables dans Flutter : Les listes ;
- Introduction aux variables dans Flutter : Les Maps ;
- Introduction aux variables dans Flutter : Dates et heures ;
- Introduction aux variables dans Flutter : Les URIs ;