Dart – Const y palabra clave final

Dart admite la asignación de un valor constante a una variable. Estos se realizan mediante el uso de la siguiente palabra clave:

  1. palabra clave constante
  2. palabra clave final

Estas palabras clave se utilizan para mantener el valor de una variable estático en todo el código base, lo que significa que una vez que se define la variable, su estado no se puede modificar. No hay limitaciones si estas palabras clave tienen un tipo de datos definido o no.

Palabra clave final en Dart

La palabra clave final se utiliza para codificar los valores de la variable y no se puede modificar en el futuro, ni ningún tipo de operación realizada en estas variables puede alterar su valor (estado).

// Without datatype
final variable_name;

// With datatype
final data_type  variable_name;

Ejemplo: uso de las palabras clave finales en un programa Dart.

Dart

void main() {
   
  // Assigning value to geek1
  // variable without datatype
  final geek1 = "Geeks For Geeks";
   
  // Printing variable geek1
  print(geek1);
    
  // Assigning value to geek2
  // variable with datatype
  final String geek2 = "Geeks For Geeks Again!!";
   
  // Printing variable geek2
  print(geek2);
}

  Producción:

Geeks For Geeks
Geeks For Geeks Again!!

Si intentamos reasignar la misma variable, mostrará un error.

Palabra clave constante en Dart

La palabra clave Const en Dart se comporta exactamente como la palabra clave final. La única diferencia entre final y const es que const hace que la variable sea constante solo desde el momento de la compilación. El uso de const en un objeto hace que todo el estado profundo del objeto se fije estrictamente en tiempo de compilación y que el objeto con este estado se considere congeladocompletamente inmutable .

Ejemplo: uso de palabras clave const en un programa Dart.

Dart

void main() {
   
  // Assigning value to geek1
  // variable without datatype
  const geek1 = "Geeks For Geeks";
   
  // Printing variable geek1
  print(geek1);
    
  // Assigning value to
  // geek2 variable with datatype
  const String geek2 = "Geeks For Geeks Again!!";
   
  // Printing variable geek2
  print(geek2);
}

 
Producción:

Geeks For Geeks
Geeks For Geeks Again!!

 

Ejemplo: Asignación de valor sin palabra clave const y luego por palabra clave const.

Sin palabra clave constante

Dart

// Declaring a function
gfg() => [1, 2];
 
// Main function
void main() {
  // Assigning value
  // through function
  var geek1 = gfg();
  var geek2 = gfg();
   
  // Printing result
  // false
  print(geek1 == geek2);
  print(geek1);
  print(geek2);
}

Producción :

false
[1, 2]
[1, 2]

Con palabra clave constante:

Dart

// Declaring a function
gfg() => const[1, 2];
 
// Main function
void main() {
  // Assigning value
  // through function
  var geek1 = gfg();
  var geek2 = gfg();
   
  // Printing result
  // true
  print(geek1 == geek2);
  print(geek1);
  print(geek2);
}

 Producción :

true
[1, 2]
[1, 2]

Propiedades de palabra clave const:

  1. Es necesario crearlos a partir de los datos disponibles durante el tiempo de compilación. Por ejemplo: configurar la string «GeeksForGeeks» está bien, pero configurar la hora actual no.
  2. Son profunda y transitivamente inmutables .
  3. Están canonicalizados .

Publicación traducida automáticamente

Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *