Dart – Control de Flujo

Puede controlar el flujo de su código de DART utilizando cualquiera de los siguientes:

If / Else

Para este tipo de condicionales, la sección del ELSE es opcional.

condicionalIfElse(){

  // Imprime linea por consola.
  stdout.writeln('¿Cual es tu edad?');

  // Solcitiar información
  // La misma es asignada a una variable
  int edad = int.parse(stdin.readLineSync());

  // Realizo condición, para sabe si es mayor de edad
  // la misma de retornar TRUE o FALSE
  // debe notar que >= hace incluyente al número 18
  if (edad>=18) {
    stdout.writeln('Eres mayor de edad.');
  } else {
    stdout.writeln('Eres menor de edad.');
  }

}

For

El ciclo for en DART le permite iterar en bucle.

cicloFor(){

  // Imprime linea por consola.
  stdout.writeln('¿Cuantos saludos quieres?');

  // Solcitiar información
  // La misma es asignada a una variable
  int numSaludos = int.parse(stdin.readLineSync());

  // Como standart se usa la variable i para el primer ciclo (pero puedes el nombre que quieras)
  // El bucle se va a ejecutar mientar i sea menor a [numSaludos]
  for (var i = 0; i < numSaludos; i++) {
    // Imprime un String CONCATENANDO la variable i
    // Recuerda que estamos iniciando el ciclo con i=0 por eso le sumamos 1 solo en la parte impresa.
    // Dicha suma no se esta asignando a la variable
    print('Hola número ${i+1}');
    
  }

}

For In

Muy parecido al ciclo For, con al diferencia que aquí iteramos LIST o SET.

cicloForIn(){
  List<String> amigos = ['Luis','Juan','Pepe'];
  for (var amigo in amigos) {
    print('$amigo es tu amigo');
  }
}

While

Un ciclo While en DART  evalúa la condición antes del ciclo:

cicloWhile(){

  int edad = 0;

  while (edad<18) {
    stdout.writeln('Debes tener más de 18 para continuar.');
    stdout.writeln('¿Cual es tu edad?');
    edad = int.parse(stdin.readLineSync());
  }

  stdout.writeln('Bienvenido');

}

Do While

Un ciclo do-while evalúa la condición después del ciclo:

cicloDoWhile(){

  int contador = 0;
  String respuesta = '';

  do {
    contador++;
    stdout.writeln('Contador: $contador');
    stdout.writeln('¿Quieres sumar uno más?');
    respuesta = stdin.readLineSync();
  } while (respuesta=='y');

}

Switch

  • Las declaraciones de Switch en DART comparan constantes enteras, de cadena o de tiempo de compilación usando ==.
  • Todos los objetos comparados deben ser instancias de la misma clase (y no de ninguno de sus subtipos) y la clase no debe anular ==.
  • Los tipos enumerados funcionan bien en declaraciones de cambio.
estructuraSwitch(){

  // Imprimir linea en consola
  stdout.writeln('Ingresa el número del día de la semana:');
  int dia = int.parse(stdin.readLineSync());

  switch (dia) {
    case 1 : 
      stdout.writeln('Lun');
      break;
    case 1 : 
      stdout.writeln('Mar');
      break;
    case 1 : 
      stdout.writeln('Mie');
      break;
    case 1 : 
      stdout.writeln('Jue');
      break;
    case 1 : 
      stdout.writeln('Vie');
      break;
    case 1 : 
      stdout.writeln('Sab');
      break;
    case 1 : 
      stdout.writeln('Dom');
      break;
    default:
    stdout.writeln('No es un día de la Semana');
  }

}

Break / Continue

  • Utilice la break para detener el bucle.
  • Utilice continue para pasar a la siguiente iteración del ciclo.
breakContinue(){
for (var i = 0; i < 10; i++) {
  if (i==2) {
    // Continua dentro del Ciclo pero salta al siguiente elemento
    continue;
  }
  if (i==5) {
    // Sale totalmente del ciclo
    break;
  }
  print(i);
}
}

 

Leave a Comment

Your email address will not be published. Required fields are marked *