Utiliser l’opérateur flèche dans une fonction Dart
-
Présentation
- Dart prend en charge une syntaxe abrégée pour des fonctions avec une seule expression. Cette syntaxe utilise une flèche au lieu de return.
- Dart a une syntaxe spéciale pour le corps de la fonction, qui n’est qu’une ligne. La fonction fléchée est représentée par le symbole => . C’est une syntaxe abrégée pour toute fonction qui n’a qu’une seule expression.
- Considérez la fonction nommée suivante add qui additionne deux nombres :
- La fonction flèche nous permet de créer une fonction simplifiée composée d’une seule expression.
- Dans Dart, nous avons une notation de flèche grasse ( => ). Une grosse flèche est utilisée pour définir une seule expression dans une fonction.
-
Syntaxe et utilisation
- La syntaxe de la fonction Dart flèche, ou lambda fonction.
- Dart a une syntaxe spéciale pour les fonctions dont le corps est uniquement une ligne.
returnType functionName(parameters...) => expression;
- L’extrait de code ci-dessus contient les composants suivants :
-
Application
-
App01
- Les fonctions données ci-dessous peuvent être optimisées à l’aide de la grosse flèche dans Dart.
-
App02
- Les fonctions données ci-dessous peuvent être optimisées à l’aide de la grosse flèche dans Dart.
ReturnType
: contient des types de données tels que void
, int
, bool
, etc.functionName
: indique le nom de la fonction.Params
: représente l’ensemble de paramètres requis par la fonction.Expression
: est la seule instruction à exécuter.Lorsque le corps de la fonction ne comporte qu’une seule ligne, vous pouvez utiliser la grosse flèche au lieu des accolades et de l’instruction
return
.
void main() {
trouverPerimetre(9, 6);
var surfaceRec = trouverSurface(10, 6);
print('La surface est $surfaceRec');
}
void trouverPerimetre(int longueur, int largeur) {
var perimeter = 2 * (longueur + largeur);
print('Le périmètre est $perimeter');
}
int trouverSurface(int longueur, int largeur) {
return longueur * largeur;
}
Solution
void main() {
trouverPerimetre(9, 6);
var surfaceRec = trouverSurface(10, 6);
print('La surface est $surfaceRec');
}
void trouverPerimetre(int longueur, int largeur) =>
print('Le périmètre est ${2 * (longueur + largeur)}');
int trouverSurface(int longueur, int largeur) =>
longueur * largeur;
// Une fonction sui calcule l'aire d'une triangle
void surfaceTriangle(int base, int height) {
var area = 0.5 * base * height;
print('La surface du triangle est: $area');
}
void main() {
surfaceTriangle( 7, 12);
}
Solution
void surfaceTriangle(int base, int height) =>
print('La surface du triangle est: ${0.5 * base * height}');
void main() {
surfaceTriangle( 7, 12);
}