Quelles sont les façons d'utiliser le mot-clé const en Dart?
sobes.tech IA
Réponse de l'IA
Le mot-clé const en Dart est utilisé pour créer des valeurs constantes déterminées lors de la compilation et qui ne peuvent pas être modifiées pendant l'exécution du programme.
Modes d'utilisation :
-
En tant que modificateur de variable : Utilisé pour déclarer une variable dont la valeur est constante lors de la compilation.
const int speedOfLight = 299792458; // Valeur constante -
En tant que modificateur de constructeur : Un constructeur déclaré comme
constcrée des instances immuables de la classe, si tous ses champs sont finals (final) ou constants (const).class Point { final double x; final double y; const Point(this.x, this.y); // Constructeur constant } const origin = Point(0.0, 0.0); // Création d'une instance constante -
Pour créer des collections constantes : Utilisé pour créer des listes, ensembles et cartes dont le contenu est constant lors de la compilation.
const List<int> primeNumbers = [2, 3, 5, 7, 11]; // Liste constante const Set<String> constants = {'pi', 'e', 'phi'}; // Ensemble constant const Map<String, double> mathConstants = { 'pi': 3.14159, 'e': 2.71828 }; // Carte constante -
Dans des contextes où une valeur constante est attendue : Par exemple, lors de la création de widgets dans Flutter, où les widgets constants peuvent être optimisés.
// Dans le contexte de Flutter const Text('Hello, World!'); // Widget constant
Différences avec final :
constdéfinit une valeur connue lors de la compilation.finaldéfinit une valeur qui est assignée une seule fois lors de l'exécution et ne peut pas être modifiée après.
| Caractéristique | const |
final |
|---|---|---|
| Temps d'initialisation | Lors de la compilation | Lors de l'exécution (une seule fois) |
| Immutabilité de la valeur | Inchangeable | Assignée une fois, puis inchangeable |
| Application aux instances | Crée une instance constante (si le constructeur est const) |
Crée une référence immuable à un objet |
| Application aux collections | Crée une collection immuable avec contenu immuable | Crée une référence immuable à une collection (le contenu peut être mutable) |