
As constantes não são apenas uma versão estranha de finalvariáveis que o assombram em um sonho com todos os erros associados a elas. Compile-timeAs constantes são uma boa maneira de melhorar o desempenho do seu aplicativo, sem criar o mesmo objeto várias vezes e, por assim dizer, "pré-criar" objetos em tempo de compilação.
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);
}
Conclusão
Esperamos que este guia tenha sido capaz de esclarecer o significado de constconstrutores e, em geral, constantes no Dart. Tente usá- constlo sempre que possível, e você fará pequenas melhorias de desempenho em seus aplicativos linha por linha. E você sabe como isso acontece com pequenas melhorias - elas fornecem um resultado geral.