Les variables Dart et les types de données

Les variables Dart sont des symboles utilisées pour définir une valeur. Alors que le type de données est le type de la valeur que nous allons déclarer. Donc, une variable peut être considérée comme un emplacement mémoire pouvant contenir des valeurs d’un certain type de données. Par conséquent on utilise une variable pour stocker en mémoire les valeurs de notre programme.

Cette approche permet de structurer et de gérer les données facilement dans un programme.

dataType variableName = initialValue;
variables Dart

Les litéraux

Dans le langage de programmation Dart, le terme littéral décrit des données. Les littéraux eux-mêmes sont la valeur d’origine ou la valeur pure d’une variable. Par exemple, "Bonjour", 10 et "A" sont des littéraux.

Comment déclarer une variable Dart ?

L’écriture d’une variables Dart se fait en spécifiant d’abord le type des données, suivi du nom de la variable, du signe égal = et de la valeur initiale de la variable. L’écriture des noms de variables Dart se fait en utilisant la convention de dénomination camelCase, par exemple monPrénom.

main() {
  // initialiser une variable
  int maVariable = 100;
  print(maVariable);

  /* une variable non initialisée
   aura une valeur null
   */
  int notInitialized;
  print(notInitialized);
}

Nous avons expliqué dans le tutoriel précédent : main(), print() et les commentaires.

L’exécution du code précédent nous donnera :

100
null

En fait, nous créons une variable qui peut stocker le type de données int (entier) avec le nom maVariable. Ensuite, nous donnons à la variable une valeur initiale de 100. Après cela, nous affichons cette variable dans la console avec la fonction print(). Si nous regardons à nouveau, dans le code source ci-dessus, il y a une variable appelé notInitialized mais elle ne reçoit pas de valeur initiale. Lors de l’affichage, nous obtenons un résultat null.

Déclarer une variable avec plusieurs valeurs

Nous pouvons déclarer une variable Dart avec plusieurs valeurs du même type. Nous pouvons le faire dans une seule instruction, et les valeur seront séparée par des virgules.

main()
{
  int x=1, y=2;
  print(x);
  print(y);
}
1
2

Les types de données Dart

Un type de données est une classification de données qui indique au compilateur ou à l’interpréteur comment le programmeur a l’intention d’utiliser les données. La plupart des langages de programmation prennent en charge une variété de types de données, notamment les nombres, les chaines de caractères et les booléens.

Les types de données de base dans Dart sont divisés en trois types :

Type de données Nombre : int (entier), double (à virgule)
Type de données texte : String
Et le type de données booléen : bool (true, false)

De plus, Dart possède d’autres types de données. Tels que les listes, les set (ensembles), les map, les runes et les symboles.

Mais pour l’instant, nous allons nous concentrer sur les types de données de base. Car c’est ce type de données que nous utiliserons beaucoup dans un programme.

Les nombres – les types int et double

Comme son nom l’indique, le type de données nombres est réservé aux données numériques. Voici un exemple de code pour déclarer une variable de type nombre :

main()
{
num realNumber = 1;
num floatingNumber = 2.5;
print(realNumber);
print(floatingNumber);
main()
}

Exécution :

1
2.5

Le type de données nombres est divisé en 2 sous-types, à savoir int pour les entiers et double pour les nombres décimaux/fractionnaires.

main()
{
int simple = 5;
int hex = 0xDA34F;
int simpleCopy = simple; 
print(simple);
print(hex);
print(simpleCopy);
}

Exécution du code :

5
893775
5

Exemples du type double :

main()
{
double simpleDc = 10.4;
double exposant = 1.5e5; 
print(simpleDc);
print(exposant);
}

Exécution du code :

10.4
150000.0

Les chaînes de caractères – le type String

Les chaînes de caractères sont les caractères qui composent les mots et les phrases dans les programmes. Dart représente les chaînes de caractères de plusieurs manières.

main()
{
  print("Une chaîne de caractères avec des guillemets doubles");
  print("Une chaîne de caractères avec des guillemets simples");
  print("C\'est une chaîne de caractères avec un caractère d'échappement (antislash)");
}

Exécution du code :

Une chaîne de caractères avec des guillemets doubles
Une chaîne de caractères avec des guillemets simples
C'est une chaîne de caractères avec un caractère d'échappement (antislash)

D’accord, dans le code ci-dessus, il est clair qu’il existe des différences dans la façon d’écrire des chaînes dans le langage Dart. Nous pouvons l’écrire entre guillemets doubles ou guillemets simples. Le choix de cette méthode dépend de nous en tant que développeurs, mais il est recommandé d’être cohérent pour obtenir un code propre.

Ensuite, nous avons un caractère d’échappement / . Le but est de dire au compilateur que le guillemet simple au milieu d’une phrase n’est pas la fin de la chaîne de sorte que le compilateur l’ignorera. Si nous n’utilisons pas le caractère d’échappement, nous obtiendrons une erreur. De plus, notez l’utilisation des guillemets doubles avec une phrase contenant une apostrophe.

Les booléens

Le type de données booléen est un type de données qui n’a que 2 valeurs, à savoir true ou false. Le type de données booléen dans Dart est écrit avec le mot-clé bool.

bool dartIsFun = true;
print(dartIsFun);

Exécution du code :

true

Pour l’instant, l’utilisation de ce type de données n’est pas très visible. Cependant, ces types de données seront utiles lorsque vous apprendrez les opérateurs et les conditions.

Créer une variable Dart avec var ou avec le type de donnée

Si nous créons une variable Dart en utilisant le mot-clé var, la variable sera affectée à n’importe quel type de données.

Cependant, si nous créons une variable avec un type de donnée, la variable ne peut être assignée qu’a une valeur qui correspond au type de donnée spécifié.

main()
{
// créer une variable nombre de type int
  var nombre = 124;

// modifer le type de nombre à String
  nombre = "Apprendre le langage Dart";

  print(nombre);
}
Error: A value of type 'String' can't be assigned to a variable of type 'int'.
  nombre = "Apprendre le langage Dart";

Si vous affectez une variable lorsque vous la définissez, Dart fixe le type de la variable. Dans ce cas, la variable nombre sera de type int, et si vous voudrez lui affecter une valeur de type String, vous aurez une erreur.

Cependant, si vous n’affectez pas la variable lorsque vous la définissez, la variable sera de type Dynamic et vous pouvez lui attribuer n’importe quel type.

main()
{
// créer une variable non définie
  var apprendre;

// attribuer un type à la variable
  apprendre = "Apprendre le langage Dart";

  print(apprendre);
}
Apprendre le langage Dart

Et si nous modifions le type de la variable.

// attribuer un autre type à la variable
  apprendre = 10;
10

Nous avons affecté le type String à la variable, et lui avons à nouveau affecté le type int. mais, l’erreur ne se produit pas contrairement à l’exemple précédent.

L’inférence de type des variables Dart

L’inférence de type est une fonctionnalité du langage Dart qui nous permet d’écrire une variable sans spécifier un type de données spécifique. Cette fonctionnalité d’inférence de type existe également dans un certain nombre de langages de programmation modernes tels que Kotlin. Pour utiliser l’inférence de type, il suffit de remplacer le type de données spécifique par le mot-clé var. Les exemples sont les suivants.

main()
{
  //créer une variable
  var langage = "Dart";
  print(langage);
  // vérifier le type
  print(langage.runtimeType);
}
Dart
String

Dans l’exemple ci-dessus, nous avons déclaré la variable langage avec une inférence de type. La vérification du type de données de langage nous retourne String. Ainsi, avec l’inférence de type, les variables deviennent plus dynamiques.

Le type dynamique

Lorsque nous utilisons l’inférence de type, le type de données de la variable est déterminé par la valeur initiale que nous lui transmettons. Cependant, si nous modifions la valeur de cette variable avec un type de données différent, nous aurons une erreur.

Lorsque nous utilisons l’inférence de type, la variable est toujours typée statiquement. La solution dans ce cas est le type de données dynamique. Ce type de données a été créé spécifiquement par Dart pour les besoins de données de différents types pendant l’exécution du programme. Pour déclarer une variable de type dynamique on utilise simplement le mot clé dynamic.

main()
{
  dynamic langage = "Dart";
  print(langage);
  langage = 10;
  print(langage);
}
Dart
10

Avec le type de données dynamique, nous pouvons maintenant créer des variables qui peuvent changer de type à tout moment pendant l’exécution.

Les variables Dart avec final et const

Les mots clés final et const sont utilisés pour déclarer des constantes. Le langage de programmation Dart permet de créer des variables que vous ne pouvez pas modifier à l’aide du mot-clé final ou const.

main() {
  final a ='xyz';
  print(a);
  
  const b = 123;
  print(b);  
}
xyz
123

Vérifions si les données final ou const peuvent être modifiées ou non.

a = 'xy';
b = '12';

Le code vous donnera une erreur de compilation car une fois qu’un type de données est déclaré comme final ou const nous ne pouvons plus le modifier pendant l’exécution.

Error: Can't assign to the final variable 'a'.
  a = 'xy';

Error: Can't assign to the const variable 'b'.
  b = '12';

Nous aurons l’ocasion de voire la différence entre final et const prochainement.

Et voila ! J’espère que vous avez apprécié ce tutoriel sur les variables Dart.

Les variables Dart et les types de données

2 commentaires sur “Les variables Dart et les types de données

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Retour en haut