
Les constantes ne sont pas seulement une version bizarre de final
variables qui vous hanteront dans un rêve avec toutes les erreurs qui leur sont associées. Compile-time
les constantes sont un bon moyen d'augmenter les performances de votre application, sans créer plusieurs fois le même objet et, pour ainsi dire, «pré-créer» des objets au moment de la compilation.
const ou final?
, , . , , const
final
. .
void run() {
const myConstNumber = 5;
final myFinalNumber = 5;
myConstNumber = 42;
myFinalNumber = 42;
}
final
, const
, . , const
.
class MyClass {
final int myFinalField;
const int myConstField;
MyClass(this.myFinalField, this.myConstField);
}
, , final
, const
. , , (. ). ...
Dart . , "hello"
, , 3.14
, , .
, .
void run() {
const myList = [1, 2, 3];
const myMap = {'one': 1};
const mySet = {1, 2, 3};
}
: , if, spread
, .
, const
final
, , . Dart , , . .

, , , . , .
void run() {
final finalVariable = 123456;
const constVariable = 123456;
const notWorking = finalVariable;
const working = constVariable;
}
, – , , , ...
Flutter const
, , EdgeInsets, . - , .
const EdgeInsets.all(8)
, . , const
, .
, const
. : final
.
class MyConstClass {
final int field1;
final List<String> field2;
const MyConstClass(this.field1, this.field2);
}
void run() {
const constVariable = 123456;
const x = MyConstClass(constVariable, ['hello', 'there']);
}
, , const
.
class MyWannabeConstClass {
final Future<int> field;
const MyWannabeConstClass(this.field);
}
void run() {
const x = MyWannabeConstClass(Future.value(123));
}
Dart , , , ""? , . const
, . .
void run() {
final implicitNew = MyWannabeConstClass(Future.value(123));
final explicitNew = new MyWannabeConstClass(Future.value(123));
}
const
, , , Flutter .
, const
final
.
, new
, const
.
void run() {
const implicitConst = MyConstClass(1);
const explicitConst = const MyConstClass(1);
}
const
, , , .
void run() {
final regularVariable = const MyConstClass(1);
}
Conclusion
J'espère que ce guide a été en mesure de clarifier la signification des const
constructeurs et, en général, des constantes dans Dart. Essayez de l'utiliser dans la const
mesure du possible et vous améliorerez les performances de vos applications ligne par ligne. Et vous savez comment cela se produit avec de petites améliorations - elles donnent un résultat global.