Volver a la página principal
jueves 31 octubre 2024
10

Cuándo usar const y final en Dart

En Dart, const y final son dos modificadores de variables que permiten declarar valores inmutables, pero tienen diferencias importantes en cuanto a cuándo y cómo se asigna el valor. Entender cuándo usar cada uno es clave para aprovechar las optimizaciones y asegurar la inmutabilidad en el código.

Diferencias entre const y final en Dart

Tanto const como final declaran variables que no se pueden modificar una vez inicializadas, pero cada uno tiene sus particularidades:

  • const: Indica que el valor es constante en tiempo de compilación. Esto significa que el valor debe estar definido antes de la ejecución del programa y no puede depender de variables o cálculos en tiempo de ejecución. Las variables const pueden ser declaradas en cualquier parte del código, ya que su valor es inmutable y fijo.
  • final: Permite definir una variable que solo se asignará una vez, en tiempo de ejecución. Esto es útil cuando el valor se conoce solo al inicio de la ejecución, pero no en el momento de compilar. Una variable final puede recibir su valor mediante una función, operación o entrada de usuario en el programa.

Ejemplos de const y final en Dart

Aquí algunos ejemplos de cómo y cuándo usar cada uno:

void main() {
  // Ejemplo de `const`
  const pi = 3.1416;            // Valor constante en tiempo de compilación
  const listaConstante = [1, 2, 3]; // Lista constante, no se puede modificar

  // Ejemplo de `final`
  final fechaActual = DateTime.now(); // Valor asignado en tiempo de ejecución
  final listaFinal = [1, 2, 3];       // Lista fija, pero el contenido puede cambiar

  print(pi);           // Output: 3.1416
  print(fechaActual);  // Output: Muestra la fecha actual en tiempo de ejecución
}

En este ejemplo, pi es una constante cuyo valor es fijo en tiempo de compilación, mientras que fechaActual obtiene su valor en tiempo de ejecución. Las listas con const no pueden modificarse ni en contenido ni en tamaño, mientras que final permite modificar los elementos internos de la lista, pero no reasignarla.

¿Cuándo usar const y final?

  • Usa const cuando el valor es verdaderamente constante y conocido antes de ejecutar el programa, como valores numéricos o cadenas de texto fijas.
  • Usa final cuando el valor debe ser inmutable, pero solo se conocerá en tiempo de ejecución.

Para más detalles, consulta la documentación oficial de Dart.

Etiquetas:
dart
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer