Chez oim, forum libre

Débattre => Informatique, programmation, geek attitude... => Discussion démarrée par: Songbird le lundi 18 juillet 2016, 04:24

Titre: Quelle est la différence entre dynamic et var ?
Posté par: Songbird le lundi 18 juillet 2016, 04:24
Par défaut, toutes les variables sont de type dynamic.
Elles peuvent donc, techniquement, contenir tous types de données.

A contrario, var est un mot-clé utilisé, le type de la donnée déclarée.

dynamic et var ont en quelque sorte le même rôle, cependant ce dernier a des limites - il ne peut être utilisé qu'au sein d'une assignation comme celle-ci:
Code
var my_awesome_variable = 0; //assignation
Vous ne pouvez donc pas faire ceci:
Code
Map my_map = <String, var>{"Hello":"world"}; //Error ! :(
//Cette map doit obligatoirement recevoir une chaîne de caractères
//en tant que clé, mais peut accueillir n'importe quel type de données en tant que valeur

Vous serez alors contraint d'utiliser le type dynamic:
Code
var my_map; //assignation
my_map = <String, dynamic>{"Hello":111}; //It works  ! :)

Vous pouvez également retrouver des informations à propos du type dynamic ici (http://stackoverflow.com/questions/12416507/difference-between-var-and-dynamic-type-in-dart).