En este tema, aprenderemos sobre las variables y los tipos de datos en Dart, el lenguaje de programación utilizado por Flutter. Comprender estos conceptos es fundamental para escribir código eficiente y efectivo.
- ¿Qué es una Variable?
Una variable es un contenedor que se utiliza para almacenar datos que pueden cambiar durante la ejecución de un programa. En Dart, las variables se declaran utilizando las palabras clave var
, final
, o const
.
Declaración de Variables
var
: Permite que Dart infiera el tipo de la variable.int
: Enteros.double
: Números de punto flotante.bool
: Valores booleanos (true
ofalse
).
Variables Finales y Constantes
final
: Una vez asignado un valor, no puede ser cambiado.const
: Similar afinal
, pero el valor debe ser conocido en tiempo de compilación.
- Tipos de Datos en Dart
Dart es un lenguaje fuertemente tipado, lo que significa que cada variable debe tener un tipo de dato específico. A continuación, se presentan los tipos de datos más comunes:
Números
int
: Representa números enteros.double
: Representa números de punto flotante.
Cadenas de Texto
String
: Representa secuencias de caracteres.
Booleanos
bool
: Representa valores booleanos (true
ofalse
).
Listas
List
: Representa una colección ordenada de objetos.
Mapas
Map
: Representa una colección de pares clave-valor.
- Ejemplos Prácticos
Ejemplo 1: Uso de Variables y Tipos de Datos
void main() { var nombre = 'Juan'; int edad = 25; double altura = 1.75; bool esEstudiante = true; List<String> habilidades = ['Dart', 'Flutter', 'Firebase']; Map<String, int> calificaciones = { 'Matemáticas': 90, 'Ciencias': 85, 'Historia': 88 }; print('Nombre: $nombre'); print('Edad: $edad'); print('Altura: $altura'); print('Es estudiante: $esEstudiante'); print('Habilidades: $habilidades'); print('Calificaciones: $calificaciones'); }
Ejemplo 2: Uso de final
y const
void main() { final nombre = 'Juan'; const pi = 3.14159; // nombre = 'Ana'; // Error: no se puede cambiar el valor de una variable final // pi = 3.14; // Error: no se puede cambiar el valor de una constante print('Nombre: $nombre'); print('Valor de pi: $pi'); }
- Ejercicios Prácticos
Ejercicio 1: Declaración de Variables
Declara variables para almacenar la siguiente información y luego imprímelas:
- Nombre: "Carlos"
- Edad: 28
- Altura: 1.80
- Es empleado:
false
- Habilidades: ['Java', 'Kotlin', 'Dart']
- Calificaciones: {'Programación': 95, 'Bases de Datos': 88, 'Redes': 92}
Solución
void main() { var nombre = 'Carlos'; int edad = 28; double altura = 1.80; bool esEmpleado = false; List<String> habilidades = ['Java', 'Kotlin', 'Dart']; Map<String, int> calificaciones = { 'Programación': 95, 'Bases de Datos': 88, 'Redes': 92 }; print('Nombre: $nombre'); print('Edad: $edad'); print('Altura: $altura'); print('Es empleado: $esEmpleado'); print('Habilidades: $habilidades'); print('Calificaciones: $calificaciones'); }
Ejercicio 2: Uso de final
y const
Declara una variable final
para almacenar tu nombre y una constante const
para almacenar el valor de la gravedad (9.8). Luego, intenta cambiar sus valores y observa los errores.
Solución
void main() { final nombre = 'Carlos'; const gravedad = 9.8; // nombre = 'Ana'; // Error: no se puede cambiar el valor de una variable final // gravedad = 9.81; // Error: no se puede cambiar el valor de una constante print('Nombre: $nombre'); print('Gravedad: $gravedad'); }
Conclusión
En esta sección, hemos aprendido sobre las variables y los tipos de datos en Dart. Estos conceptos son fundamentales para cualquier programa que escribas en Flutter. Asegúrate de practicar declarando y utilizando diferentes tipos de variables para familiarizarte con ellos. En el próximo tema, exploraremos las sentencias de control de flujo en Dart.
Curso de Desarrollo con Flutter
Módulo 1: Introducción a Flutter
- ¿Qué es Flutter?
- Configuración del Entorno de Desarrollo
- Entendiendo la Arquitectura de Flutter
- Creando Tu Primera App con Flutter
Módulo 2: Conceptos Básicos de Programación en Dart
- Introducción a Dart
- Variables y Tipos de Datos
- Sentencias de Control de Flujo
- Funciones y Métodos
- Programación Orientada a Objetos en Dart
Módulo 3: Widgets en Flutter
- Introducción a los Widgets
- Widgets Stateless vs Stateful
- Widgets Básicos
- Widgets de Diseño
- Widgets de Entrada y Formularios
Módulo 4: Gestión de Estado
Módulo 5: Navegación y Enrutamiento
- Introducción a la Navegación
- Navegación Básica
- Rutas Nombradas
- Pasando Datos Entre Pantallas
- Deep Linking
Módulo 6: Redes y APIs
- Obteniendo Datos de Internet
- Parseo de Datos JSON
- Manejo de Errores de Red
- Usando APIs REST
- Integración con GraphQL
Módulo 7: Persistencia y Almacenamiento
- Introducción a la Persistencia
- Preferencias Compartidas
- Almacenamiento de Archivos
- Base de Datos SQLite
- Usando Hive para Almacenamiento Local
Módulo 8: Conceptos Avanzados de Flutter
- Animaciones en Flutter
- Custom Paint y Canvas
- Canales de Plataforma
- Isolates y Concurrencia
- Optimización de Rendimiento
Módulo 9: Pruebas y Depuración
- Introducción a las Pruebas
- Pruebas Unitarias
- Pruebas de Widgets
- Pruebas de Integración
- Técnicas de Depuración
Módulo 10: Despliegue y Mantenimiento
- Preparación para el Lanzamiento
- Construcción para iOS
- Construcción para Android
- Integración Continua/Despliegue Continuo (CI/CD)
- Mantenimiento y Actualización de Tu App