Sobes.tech
Middle

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 :

  1. 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
    
  2. En tant que modificateur de constructeur : Un constructeur déclaré comme const cré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
    
  3. 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
    
  4. 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 :

  • const définit une valeur connue lors de la compilation.
  • final dé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)