Ejemplo de Dart Hello World

En la clase anterior, explicamos cómo crear el primer ejemplo de Dart. A continuación, vamos a aprender a crear nuestro propio ejemplo de Hello World.

1 Hello World

  1. Cada programa Dart debe tener una función main() de nivel superior, desde aquí comienza la ejecución del programa.
  2. Las funciones sin valor de retorno se definen con la palabra reservada void
  3. print() se usa para imprimir texto en la consola
// Punto de entrada del programa
void main() {
  print('Hello, World!');
}
Lenguaje del código: Dart (dart)

Seguimos usando el proyecto creado en la clase anterior como ejemplo. Abre el archivo firstdart.dart ubicado en C:\dartdemo\firstdart\bin

Reemplaza todo el contenido del archivo con el código anterior

Luego abre el símbolo del sistema cmd, navega hasta el directorio C:\dartdemo\firstdart y ejecuta el comando dart run

C:\dartdemo\firstdart>dart run
Building package executable...
Built firstdart:firstdart.
Hello, World!Lenguaje del código: CSS (css)

2 Variables (var: inferencia automática de tipos)

  1. Al declarar variables con var, Dart reconoce el tipo automáticamente según el valor asignado, no hace falta escribir el tipo manualmente
  2. Es compatible con cadenas de texto, números enteros, números decimales, listas y mapas (objetos)

Ejemplo

// Punto de entrada del programa
void main() {
        var name = 'Voyager 1';    // Cadena String
	var year = 1977;           // Entero int
	var width = 3.7;           // Decimal double
	var planets = ['Júpiter','Saturno']; // Lista List
	var info = {
	  'tag': ['Saturno'],
	  'url': 'Dirección de imagen'
	}; // Mapa Map
}
Lenguaje del código: Dart (dart)

Arriba definimos varias variables. Una variable es un pequeño espacio de memoria destinado a almacenar datos, al cual le asignamos un nombre. Gracias a ese nombre podemos manipular fácilmente ese fragmento de memoria.

Teóricamente este espacio de memoria puede guardar cualquier secuencia de ceros y unos, ya que toda la información informática está formada por 0 y 1. Los tipos como cadena o entero existen para simplificar la interpretación de los datos: si el compilador detecta un tipo int, leerá la información como un número entero.

Si quieres manipular las variables definidas anteriormente

// Punto de entrada del programa
void main() {
  var name = 'Voyager 1';    // Cadena String
  var year = 1977;           // Entero int
  var width = 3.7;           // Decimal double
  var planets = ['Júpiter', 'Saturno']; // Lista List
  var info = {
    'tag': ['Saturno'],
    'url': 'Dirección de imagen'
  }; // Mapa Map

  // Ejemplo de uso de cadenas
  print('Nombre de la sonda:$name');
  print('Longitud del nombre:${name.length}');
  print('¿Contiene el número "1"?:${name.contains('1')}');

  // Ejemplo de uso de enteros
  print('Año de lanzamiento:$year');
  print('Años transcurridos:${DateTime.now().year - year} años');

  // Ejemplo de uso de decimales
  print('Anchura de la sonda:$width metros');
  print('Cuadrado de la anchura:${width * width}');

  // Ejemplo de uso de listas
  print('Lista de planetas objetivo:$planets');
  planets.add('Urano'); // Agregar elemento
  print('Lista de planetas actualizada:$planets');
  print('Primer planeta objetivo:${planets[0]}');

  // Ejemplo de uso de mapas
  print('Etiquetas de información:${info['tag']}');
  print('Enlace de imagen:${info['url']}');
  info['status'] = 'En operación'; // Agregar nuevo par clave-valor
  print('Información completa:$info');
}
Lenguaje del código: PHP (php)

Aquí usamos impresión formateada, un contenido que aún no hemos estudiado. Por ahora solo entiende el concepto, lo veremos en detalle más adelante.

3 Sentencias de control de flujo (condicionales / bucles)

Condicional if else

Se ejecutan bloques de código distintos según la condición dentro de los paréntesis de if. Si la condición es true (verdadera), se ejecuta el código entre llaves después de if; si es false (falsa), se ejecuta el código del bloque else.

if (condición) {
  // Se ejecuta cuando la condición es true
} else {
  // Se ejecuta cuando la condición es false
}Lenguaje del código: JavaScript (javascript)

Ejemplo: comprobar si se supera la velocidad permitida

var speed = 25;

if (speed > 60) {
  print('¡Exceso de velocidad!');
} else {
  print('Velocidad adecuada.');
}Lenguaje del código: PHP (php)

También podemos encadenar varias comprobaciones

if (speed > 100) {
  print('¡Velocidad peligrosa!');
} else if (speed > 60) {
  print('Vas un poco rápido.');
} else {
  print('Conducción segura.');
}Lenguaje del código: PHP (php)
void main() {
	var year = 1977;
	if (year >= 2001) {
	  print('Siglo XXI');
	} else if (year >= 1901) {
	  print('Siglo XX');
	}
}
Lenguaje del código: Dart (dart)
C:\dartdemo\firstdart>dart run
Building package executable...
Built firstdart:firstdart.
Siglo XXLenguaje del código: CSS (css)
Recorrer listas con for-in

En Dart, el bucle for‑in es una sintaxis compacta para iterar objetos iterables como List y Set.

Comprueba si la lista tiene un elemento siguiente: si lo hay, ejecuta el código entre llaves; si no, finaliza el bucle y continúa con el resto del programa.

Sintaxis:

for (var item in collection) {
  // Usar la variable item
}Lenguaje del código: JavaScript (javascript)

Ejemplo

void main() {
	var planets = ['Júpiter','Saturno'];
	for (final item in planets) {
	  print(item);
	}
}
Lenguaje del código: Dart (dart)

Resultado de ejecución

C:\dartdemo\firstdart>dart run
Building package executable...
Built firstdart:firstdart.
Júpiter
SaturnoLenguaje del código: CSS (css)
Bucle numérico for tradicional

Comienza en i=1 y llega hasta 12 inclusive gracias al operador <=. Después de cada print se ejecuta i++.

void main() {
	for (int i = 1; i <= 12; i++) {
	  print(i);
	}
}Lenguaje del código: JavaScript (javascript)

Resultado de ejecución

C:\dartdemo\firstdart>dart run
Building package executable...
Built firstdart:firstdart.
1
2
3
4
5
6
7
8
9
10
11
12Lenguaje del código: CSS (css)
  1. Primero se ejecuta una única vez int i = 1
  2. Luego se verifica si se cumple la condición i <=12
  3. Si se cumple, se ejecuta print(i) y muestra el valor 1
  4. Después se hace i++, i pasa a valer 2
  5. Vuelve a comprobar i<=12: como 2<=12 es true, se imprime el valor 2
  6. Se repite i++ y la comprobación sucesivamente
  7. …..
  8. Cuando i valga 13, la condición i<=12 es falsa, se sale del bucle for y continúa el código siguiente

La sentencia int i=1; solo se ejecuta al principio, nunca más. Su función es inicializar i, así que también se puede escribir así:

void main() {
    int i = 1;
	for (; i <= 12; i++) {
	  print(i);
	}
}
Lenguaje del código: Dart (dart)

4. Bucle while

El bucle while es similar al for. En Dart, el bucle while repite un bloque de código mientras la condición sea verdadera. Su sintaxis es muy sencilla:

while (condición) {
  // Cuerpo del bucle
}Lenguaje del código: JavaScript (javascript)

Lógica de ejecución:

  1. Primero comprobar si la condición es true.
  2. Si es verdadera, ejecutar el cuerpo del bucle.
  3. Al terminar el cuerpo, volver a comprobar la condición.
  4. Cuando la condición sea false, finalizar el bucle.

Para que la condición deje de cumplirse, debes modificar alguna variable dentro del cuerpo del bucle. Si no la modificas, se genera un bucle infinito que nunca se detiene.

var year = 2010;
while(year < 2016){
  year += 1;
}
Lenguaje del código: JavaScript (javascript)

Desglose de los pasos de ejecución 👇

Fase de inicialización
  • Definir la variable year con valor inicial 2010.
Fase de comprobación de condición
  • Comprobar si se cumple year < 2016.
  • Si es verdadera, entrar al cuerpo del bucle; si es falsa, salir del bucle.
Fase de ejecución del cuerpo
  • Ejecutar year += 1, equivalente a year = year + 1.
  • Cada iteración incrementa year en una unidad.
Fase de comprobación repetida
  • Vuelve a comprobar la condición year < 2016.
  • Mientras year esté entre 2010 y 2015, la condición es verdadera.
  • Cuando year llegue a 2016, la condición es falsa y el bucle finaliza.

Fase final

  • Al terminar el bucle, el valor final de year es 2016.

Este bucle se ejecuta un total de 6 veces (desde 2010 hasta 2015), incrementando year en uno cada vez hasta que la condición no se cumpla. Ten cuidado: si no modificas year dentro del bucle, se generará un bucle infinito.

Deja una respuesta

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