Les variables et les constantes dans Dart
Sommaire
- 1- Avant de commencer
- 2- Les variables dans Dart
- 2.1- Définition
- 2.2- Déclaration d'une variable
- 2.3- Déclarer une variable avec le mot-clef
var
- 2.4- Déclarer une variable avec le mot-clef
dynamic
- 2.5- Déclarer une variable avec le type de
data spécifique
- 2.6- Déclarer la variable avec le mot-clef
final
- 2.7- Connaitre le type d'une variable
- 3- Interpolation et évaluation d'une variable dans Dart
- 4- Les constantes dans Dart
- 4.1- Définition
- 4.2- Déclaration d'une constante
- 4.2.1- Définir la constante à l'aide du mot-clé final
- 4.2.2- Définir la constante à l'aide du mot-clé const
- 5- Application
- 5.1.1- Cours Flutter
-
Avant de commencer
- Un code Dart s’exécute toujours en commençant par la fonction
main( ){ }
. Alors il est important de placer votre code à exécuter dans cette fonction. - Une ligne complète en Dart se termine toujours par un point virgule ;
- Il est possible d’écrire des commentaires en Dart. Les commentaires sont des lignes qui ne n’exécutent pas. Pour faire un commentaire , il suffit de mettre deux
slash //
au début de la ligne. Pour un commentaire multiligne, le plus simple est d’écrire le commentaire entre/*
et*/
-
Les variables dans Dart
-
Définition
- une variable est un espace mémoire réservé pour stocker une valeur spécifique qui correspond à un type de données pris en charge par le langage de programmation dans lequel vous travaillez.
- Une variable est représentée et utilisée par un label (un nom symbolique) qui est attribué par un programmeur ou qui est déjà prédéfini dans le langage.
- Le nom d’une variable obéit à des impératifs ou règles changeant selon les langages. Toutefois, une règle absolue est qu’un nom de variable peut comporter des lettres et des chiffres, mais qu’il exclut la plupart des signes de ponctuation, en particulier les espaces.
- Une variable peut aussi commencer par ou comporter des underscores _ . Mais une variable qui commence par un underscore a une signification particulière que nous serons amenés à voir plus tard.
-
Déclaration d’une variable
- La déclaration des variables est obligatoire avant l’utilisation. Pour chaque nom, vous ne devez le déclarer qu’une seule fois.
- Voici quelques règles que nous devons suivre lors de la création d’une variable d’identifiant/dart.
- Une variable ne doit pas être des mots-clés
- La variable peut contenir des lettres et des chiffres.
- Une variable ne peut contenir aucun espace ou caractère spécial, à l’exception du trait de soulignement ( _ ) et du symbole dollar ( $ )
- Le nom de la variable ne doit pas commencer par un chiffre.
- Tous les types de données dans Dart sont des objets. Cela signifie que tout dans Dart est des objets et qu’il hérite des propriétés de l’objet. Cela signifie que la valeur par défaut de tous ces types de données est nulle.
-
Déclarer une variable avec le mot-clef
var
- La façon la plus simple de déclarer une variable est d’utiliser le mot-clef var :
- La syntaxe pour déclarer une variable dans le langage Dart est très simple.
- le mot clé
var
permet de signifier que nous sommes entrain de déclarer une variable. - Exemple
- Il est strictement interdit de déclarer des variables ayant le même nom. C’est une erreur qui empêchera votre programme d’être exécuté.
- exemple
-
Déclarer une variable avec le mot-clef
dynamic
- Le mot-clef
dynamic
est également utilisé pour déclarer une variable, ce qui est assez similaire au mot-clef var. - La différence est que le type de données de cette variable peut être modifié.
-
Déclarer une variable avec le type de
data spécifique
- Vous pouvez déclarer une variable avec un type de données spécifique au lieu de demander à Dart de détecter automatiquement son type de données.
-
Déclarer la variable avec le mot-clef
final
- Le mot-clef
final
est également utilisé pour déclarer une variable, et vous ne pouvez affecter une valeur à cette variable qu’une seule fois. - “
final
” signifie à affectation unique : une variable ou un champfinal
doit ont un initialiseur. Une fois qu’une valeur lui est attribuée, la valeur d’une variable finale ne peut pas être modifiée. - Le type de données de cette variable sera déterminé par Dart lors de la première affectation.
-
Connaitre le type d’une variable
- Le langage Dart offre la possibilité de récupérer le type d’une variable à l’aide de la méthode
runtimeType
-
Interpolation et évaluation d’une variable dans Dart
- En condition normal les variables ne sont pas précédés d’un dollar ‘
$
‘ sauf à l’intérieur d’une chaine de caractère pour permuter avec le contenu de la variable. - Il peut être intéressant de rajouter des guillemets si l’on désire avant interpolation faire une évaluation de la valeur de ce qui est entre guillemet.
- Vous pouvez concaténer String avec d’autres types d’objets. Tout ce que vous avez à faire est de convertir l’autre type d’objet Dart en String en utilisant la méthode
object.toString()
. - Exemple
-
Les constantes dans Dart
-
Définition
- Une constante est une variable dont l’état reste inchangé durant toute l’exécution du programme et dont la valeur ne peut être modifié par le programme une fois définie
-
Déclaration d’une constante
- Pour déclarer une constante, on utilise le mot clé
const
oufinal
. On utiliseconst
pour déclarer des constantes à la compilation mais dans l’ensemble ces deux mots clés permettent de faire la même chose (déclarer une constante). -
Définir la constante à l’aide du mot-clé final
- Nous pouvons définir la constante en utilisant le mot-clé
final
. La syntaxe est le suivant:final const_name; ou
.final
data_type const_name - Souvent, vous savez que vous voudrez une constante dans votre programme, mais vous ne savez pas quelle est sa valeur au moment de la compilation. Vous ne connaîtrez la valeur qu’après le démarrage du programme. Ce type de constante est appelé constante d’exécution .
DateTime.now()
>est une fonction Dart qui vous indique la date et l’heure actuelles d’exécution du code.- L’ajout
hour
à cela vous indique le nombre d’heures qui se sont écoulées depuis le début de la journée. - Étant donné que ce code produira des résultats différents selon l’heure de la journée, il s’agit très certainement d’une valeur d’exécution.
- Donc, pour faire hoursSinceMidnight une constante, vous devez utiliser le mot-clé final au lieu de const.
-
Définir la constante à l’aide du mot-clé const
- Nous pouvons définir la constante en utilisant le mot-clé
const
. La syntaxe est le suivant:const const_name; ou
.const
data_type const_name -
Application
- Déclarez une constante de type int appelé myAge et réglez-la sur votre âge.
- Déclarez une variable de type double appelée averageAge. Initialement, définissez la variable sur votre propre âge. Ensuite, réglez-le sur la moyenne de votre âge et de l’âge de votre meilleur ami.
- Créez une constante appelée testNumber et initialisez-la avec l’entier de votre choix. Ensuite, créez une autre constante appelée evenOdd et définissez-la égale à testNumber modulo 2. Passez maintenant testNumber à différents numéros. De quoi remarquez-vous evenOdd?
var nom_de_la_variable = la_valeur;
var nom = 'Jean Luc';
var age = 16;
var isPremium = true;
var langages = ['Python', 'Javascript', 'Java', 'Kotlin'];
Le type de données de la variable sera déterminé dès la première fois qu’elle se verra attribuer une valeur. Si vous déclarez une variable mais ne lui attribuez jamais de valeur, son type de données est Null.
dynamic v1 = 123;// v1 est de type int.
v1 = 456; // modification de la valeur de v1 de 123 à 456.
v1 = 'abc'; // changer le type de v1 de int à String.
var v2 = 123; // v2 est de type int.
v2 = 456; // modification de la valeur de v2 de 123 à 456.
v2 = 'abc'; // ERREUR : impossible de modifier le type de v2 de int à String.
String myVariable1 = "My Text";
int myVariable2 = 1000;
Exemple
void main(){
String s = "Hello";//variable du type String
print(s.runtimeType); // affiche String
}
Exemple (type dynamic)
void main(){
dynamic s = "Hello";//variable du type String
print(s.runtimeType); // affiche String
//la variable s est du type dynamique, on peut donc changer son type
s = 17;
print(s.runtimeType); // affiche int
}
Exemple (type var)
void main(){
var s = "Hello";//variable du type String
var n = 20; // variable du type int
//le type de variable crée avec l'instruction var ne peut être changé !!!
s = 17; // renvoie un message d'erreur !
}
main() {
int age = 36;
String text = "36";
print("Cette année j'ai " + age.toString() + " ans");
print("Cette année j'ai age ans");
print("Cette année j'ai $age ans");
print("L'année prochaine j'aurais $age +1 ans ");
print("L'année prochaine j'aurais ${age + 1} ans ");
print("L'année prochaine j'aurais ${text + 1.toString()} ans ");
}
var nom_de_la_constante = la_valeur;
Exemple:
final hoursSinceMidnight = DateTime.now().hour;
Les mots clés
final
etconst
sont utilisés pour déclarer des constantes. Dart empêche de modifier les valeurs d’une variable déclarée à l’aide du mot-cléfinal
ouconst
. Ces mots-clés peuvent être utilisés conjointement avec le type de données de la variable ou à la place du mot-clé var.