Variables dans Dart
1. Qu'est-ce qu'une variable ?
Dans le langage de programmation Dart, une variable est un nom (un identifiant) qui pointe vers une adresse où les données sont stockées en mémoire.
Par exemple :
var myVariable1 = 100;
- var est un mot-clef utilisé pour déclarer une variable.
- myVariable1 est le nom de la variable.
- 100 est la valeur de cette variable.
Ci-dessous des règles de nomination de variables :
- Le mot-clef ne peut pas être utilisé pour nommer une variable. Par exemple, "var" est un mot-clef, qui ne peut pas être utilisé pour nommer des variables.
- Le nom de la variable se compose de lettres de l'alphabet latin et de chiffres.
- Le nom de la variable ne peut pas contenir d'espaces ou de caractères spéciaux, à l'exception du trait de soulignement ( _ ) ou du signe dollar ( $ ).
- Les noms de variables ne peuvent pas commencer par un chiffre.
2. Déclarer la variable avec le mot-clef var
La déclaration des variables est obligatoire avant l'utilisation. Pour chaque nom, vous ne devez le déclarer qu'une seule fois.
La façon la plus simple de déclarer une variable est d'utiliser le mot-clef var :
var myVariable1 = "My Text"; // Declare a variable and assign a value to it.
var myVariable2; // Declare a variable but have not assigned a value.
Vous pouvez affecter une nouvelle valeur à la variable, ce qui signifie que la variable a pointé vers une nouvelle adresse de stockage de données en mémoire.
myVariable1 = "New My Text";
Par exemple :
Variable_var_ex1.dart
void main() {
var myVariable1 = "My Text";
print(myVariable1);
myVariable1 = "New My Text";
print(myVariable1);
}
Output:
My Text
New My Text
Lorsque vous utilisez le mot-clef "var" pour déclarer une variable, vous demandez à Dart : "Détectez le type de données de la variable". 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.
Variable_var_ex2.dart
void main() {
var myVariable1 = "My Text"; // Data type: String
print("data type of myVariable1: " + myVariable1.runtimeType.toString());
var myVariable2 = 1000; // Data type: int
print("data type of myVariable2: " + myVariable2.runtimeType.toString());
var myVariable3; // Data type: Null
print("data type of myVariable3: " + myVariable3.runtimeType.toString());
myVariable3 = true; // Data type: bool
print("data type of myVariable3: " + myVariable3.runtimeType.toString());
}
Output:
data type of myVariable1: String
data type of myVariable2: int
data type of myVariable3: Null
data type of myVariable3: bool
- Dart Data Types
Une variable est déclarée avec le mot-clef var et le type de données est détecté comme non-Null. Vous ne pouvez pas lui affecter une valeur avec un type de données différent.
Par exemple : Une variable a été déterminée par Dart et son type de données est String. Le compilateur signalera une erreur si vous lui attribuez une valeur numérique.
void main() {
var myVariable1 = "My Text"; // Data type: String
print("data type of myVariable1: " + myVariable1.runtimeType.toString());
// Can not assign to it an integer value.
myVariable1 = 1000; // Error at compile time.
}
Le message d'erreur du compilateur :
Error compiling to JavaScript:
Warning: Interpreting this as package URI, 'package:dartpad_sample/main.dart'.
lib/main.dart:6:17:
Error: A value of type 'int' can't be assigned to a variable of type 'String'.
myVariable1 = 1000; // Error at compile time.
^
Error: Compilation failed.
3. Déclarer la 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é.
dynamic v1 = 123; // v1 is of type int.
v1 = 456; // changing value of v1 from 123 to 456.
v1 = 'abc'; // changing type of v1 from int to String.
var v2 = 123; // v2 is of type int.
v2 = 456; // changing value of v2 from 123 to 456.
v2 = 'abc'; // ERROR: can't change type of v2 from int to String.
4. Déclarer la 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.
String myVariable1 = "My Text";
int myVariable2 = 1000;
La spécification d'un type de données spécifique pour la variable au moment de la déclaration aidera à réduire les erreurs dans le processus de codage.
Par exemple : Vous déclarez une variable de type String mais lui attribuez une valeur numérique, le compilateur vous renverra une erreur.
String myVariable1 = 1000; // Error at compile time.
- Dart Data Types
5. 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. Le type de données de cette variable sera déterminé par Dart lors de la première affectation.
void main() {
final myVariable1; // Declare a variable.
myVariable1 = 2; // Assign a value to it.
myVariable1 = 3; // ERROR at compile time.
final myVariable2 = "Some Text"; // Declare and assign value to variable.
myVariable2 = "New Text"; // ERROR at compile time.
}
L'utilisation du mot-clef final vous permet d'éviter d'affecter accidentellement une nouvelle valeur à une variable alors qu'elle dispose déjà d'une valeur. Cela garantit que la variable ne pointe que vers une seule adresse en mémoire pendant son existence.
Une variable est déclarée avec le mot-clef final. Les données de la zone mémoire vers laquelle pointe cette variable peuvent toujours changer en interne.
Par exemple : La valeur d'une variable est un tableau, les éléments du tableau peuvent encore changer.
Variable_final_ex2.dart
void main() {
final myArray = ["A", "B", "C"];
print(myArray);
myArray[2] = "E";
print(myArray);
}
Output:
[A, B, C]
[A, B, E]
- Dart Switch
6. Déclarer la variable avec le mot-clef const
Le mot-clef const est utilisé pour déclarer une variable spéciale, également appelée une constante. Lorsque vous déclarez une variable avec le mot-clef const, vous devez lui affecter une valeur, sinon sa valeur sera null. Lorsqu'elle est déclarée, vous ne pouvez pas affecter de valeur à cette variable. La zone de données vers laquelle pointe la variable deviendra immuable, ce qui signifie qu'elle ne peut pas modifier les données en interne.
Variable_const_ex1.dart
void main() {
const myVariable1 = 100; // Declare and assign value to variable.
myVariable1 = 2; // ERROR: Can not assign new value.
const myVariable2; // Declare a variable (Its value is considered null).
myVariable2 = "Some Text"; // ERROR: Can not assign new value.
}
Une variable est déclarée avec le mot-clef const. La zone mémoire vers laquelle il pointe devient immuable.
Par exemple : La valeur d'une variable est un tableau, ce tableau deviendra immuable. (immutable).
Variable_const_ex2.dart
void main() {
const myArray = ["A", "B", "C"];
print(myArray);
myArray[2] = "E"; // ERROR: myArray is immutable.
print(myArray);
}
Output:
[A, B, C]
: Unsupported operation: indexed setError: Unsupported operation: indexed set
- Dart Switch
Tutoriels de programmation Dart
- Type de données Boolean dans Dart
- Fonctions dans Dart
- Fermetures dans Dart
- Méthodes dans Dart
- Propriétés en Dart
- Programmation Dart avec l'outil en ligne DartPad
- Installer Dart SDK sur Windows
- Installer Visual Studio Code sur Windows
- Installer Dart Code Extension pour Visual Studio Code
- Installer Dart Plugin pour Android Studio
- Exécutez votre premier exemple Dart en Visual Studio Code
- Exécutez votre premier exemple Dart en Android Studio
- Parsing JSON avec dart:convert
- Le Tutoriel de Dart List
- Variables dans Dart
- Le Tutoriel de Dart Map
- Les Boucles en Dart
- Analyser Dart JSON avec le package dart_json_mapper
- Qu'est-ce que Transpiler?
Show More