La doc officiel : https://dart.dev/guides/language/language-tour
Pour faire des tests facilement il y a : https://dartpad.dev/
Les DevTips sont des notes perso, sur lequel je peu m’appuyer en cas d’oublie 😉
Je les mets en ligne, au cas ou sa peu aider d’autres développeurs.
Les variables
var test = "Je suis une chaine de caractere";
String test2 = "Je suis une string aussi";
String testConcat = "Je suis un exemple de concat" + test;
String testConcatDeux = "$test et voici un exemple de concat";
‘var’ déclare la variable de manière à ce que le type n’est pas renseigné, attention car une fois un type assigné il est pas possible d’en changer.
var age = 33; //Automatique la variable age prendra le type INT
age = "chien"; // on essaye de changer
On obtiens une erreur :
Error: A value of type 'String' can't be assigned to a variable of type 'int'.
Maintenant comment concaténer une chaine de caractère et un int ?
int age = 33;
String year = "ans";
String total = "J'ai " + age.toString() + " " + year;
print(total);
La liste
void main() {
List<String> maList = ["test","test2","test3"];
print(maList); //affiche [test, test2, test3]
print(maList[2]); //affiche le 3eme car le tableau commence par 0 ;)
//Ajouter un element
maList.add("test4");
print(maList);
//Remove un element
maList.remove("test2");
print(maList);
//removeAt
maList.removeAt(0);
print(maList);
}
MAP
void main() {
Map maMap = {
'Test': 12,
'Test2': 15,
'Test3': 20
};
print(maMap);
//Longueur de la map
print(maMap.length);
//Ajouter un element
maMap['Test4'] = 50;
print(maMap);
//Remove elements
maMap.remove('Test');
//Remove uniquement par rapport à une clef, ne fonctionne pas avec une value
print(maMap);
maMap.clear(); //pas besoin d'en dire plus ;)
}
Les Conditions
Un truc de base semblable à d’autres languages
void main() {
var age = 18;
//if else
if (age >= 18) {
print("Oui");
} else {
print("Non");
}
//Code optimiser
print( age >= 18 ? "Oui" : "Non");
}
Les boucles for
void main() {
//Boucle for toute simple
for (var x = 0; x < 10; x++) {
print("Bonjour les devs ${x + 1} fois.");
};
//Boucle avec une liste
List<String> maList = ["Jean","Pierre","Foucault"];
//1er façon
for (var x = 0; x < maList.length; x++) {
print(maList[x]);
}
//2nd Façon
maList.forEach((prenom) {
print(prenom);
});
//3eme Façon
maList.forEach((prenom) => print(prenom));
//Boucle pour Map
Map maMap = {
1 : "Test1",
2 : "Test2",
3 : "Test3"
};
//1er methode
maMap.forEach((key, value) {
print("Numéro : $key - la value est : $value");
});
//2nd methode la meilleur
maMap.forEach((key, value) => print("Numéro : $key - la value est : $value"));
}
Les boucles while
While est égale à « Tant que »
void main() {
var nbrPizza = 1;
//While
while (nbrPizza < 10) {
print("Commande(s) de pizza : " + nbrPizza.toString());
nbrPizza++;
};
//Do
do {
print("Nombre de commande de pizza : " + nbrPizza.toString());
} while (nbrPizza < 10);
}
Quels différences entre une boucle While et une boucle Do ?
While va d’abord vérifier la condition ici le nombre de Pizza et ensuite executer.
Do va executer et à la fin vérifier si la condition est valide, par la suite on continue ou on recommence.
Switch
la encore c’est du basic
void main() {
var couleur = "bleu";
switch (couleur) {
case 'Vert':
print('couleur vert');
break;
case 'bleu':
print('couleur bleu');
break;
default: break;
};
}
Les functions
void main() {
// Si on appel la function avant qu'elle ne soit charger maPremiereFunction();
// Cela ne fonctionnera pas.
// L'appel doit se faire dans un ordre linéaire
// La fonction doit étre charger avant d'étre appeler.
// le 'void' n'est pas obligatoire pour fonctionner c'est une préférence personnel
// respect de la convention du language
// void car la function ne return rien
void maPremiereFunction() {
print('test');
}
maPremiereFunction();
//Function avec params
void maSecondeFunction(String params) {
print('test : $params');
}
maSecondeFunction('ma chaine de caractere');
}
Function avec return
void main() {
String maFunctionDeFolie(String params) {
return 'TEST TEST TEST : $params';
}
var monTest = maFunctionDeFolie('Chien');
print(monTest);
//Version Optimiser
double maSecondeFunction(double premier, double second) => premier * second;
print(maSecondeFunction(2.35,3));
}
Exercices
- Faire une boucle de 0 à 100 et print que les nombres impairs en Dart
- Faire une function de conversion celsius en Fahrenheit
- Written by: Samuel974
- Posted on: 22 avril 2020