Las bases de Flutter: Introducción a las condicionales


Avatar de Pedro Cortez

Al programar tu aplicación Flutter, llegará el momento en que necesites realizar diferentes acciones según el resultado de una operación. En este tutorial, te explico cómo implementar rápidamente condiciones.


condiciones

Las condicionales en Flutter

Habrá situaciones en las que necesitarás que se realice una acción diferente según el valor de una variable. Por ejemplo, mostrar una página de bienvenida si es la primera vez que un usuario se conecta, y mostrar directamente la página de inicio si no es la primera vez.

Para esto, puedes utilizar los operadores condicionales if y else. If significa que se ejecutará una acción si una condición resulta ser verdadera. Else significa «otro» y la función que hayas escrito entre sus llaves se ejecutará si la condición if no se cumple. Por ejemplo:

int numero = 8; 
if(numero == 7){
  print('mi número es 7');
}
else { 
  print('mi número no es 7');
}
↪ mi número no es 7

No es obligatorio agregar un else después de un if. Si solo quieres que algo suceda en el caso de que la condición se cumpla, y no deseas hacer nada en caso contrario, puedes usar solo un if.

Verificar más de una condición

A veces es necesario cubrir varios escenarios o combinar condiciones.

Operador O

Puede que quieras que una función se ejecute si una variable tiene un valor u otro. En ese caso, solo necesitas poner todas las condiciones entre paréntesis, separadas por dos barras verticales ||. Aquí un ejemplo:

String fruta = 'naranja';
if(fruta == 'manzana' || fruta == 'naranja'){
  print('Me la voy a comer');
}

Me la voy a comer

En este ejemplo, el mensaje se mostrará en la consola de depuración porque al menos una de las dos condiciones es verdadera.

Puedes agregar tantas condiciones como quieras, incluso condiciones que se anulan entre sí, sin restricciones.

Operador Y

Si deseas que se cumplan dos o más condiciones para que una función se ejecute, debes hacer lo mismo que con las condiciones O, pero usando &&. Aquí un ejemplo:

String fruta1 = 'manzana';
String fruta2 = 'naranja';

if(fruta1 == 'manzana' && fruta2 == 'naranja'){
  print('Me voy a comer las dos');
}
Me voy a comer las dos

Aquí, el mensaje se mostrará en la consola de depuración porque ambas condiciones son verdaderas: fruta1 tiene el valor «manzana» y fruta2 tiene el valor «naranja».

Ten cuidado de no poner dos condiciones que se contradigan, ya que el resultado siempre será falso.

O + Y

Finalmente, es posible combinar condiciones Y y O en un mismo if. Aquí un ejemplo:

int numero1 = 6;
int numero2 = 3;

if( (numero1 == 6 && numero2 == 3) || (numero1 + numero2 == 10) ){
  print('Una de las dos afirmaciones es verdadera');
}
Una de las dos afirmaciones es verdadera

En este caso, una de las dos condiciones es verdadera (mis valores son 6 y 3). El mensaje se muestra correctamente en la consola de depuración.

Usar el método switch/case/break

Además de las condiciones con if y else, Flutter ofrece otra manera de manejar condiciones múltiples: el método switch/case. Este enfoque se utiliza a menudo cuando tienes varios valores posibles para una misma variable y quieres ejecutar un bloque de código específico para cada valor.

La sintaxis del método switch es más legible y concisa que varias condiciones if/else anidadas, especialmente cuando tienes muchos casos diferentes. Así es como funciona:

  • Usas switch seguido de la variable que deseas probar.
  • Luego, para cada valor posible de esa variable, usas case seguido de dicho valor, y después, las acciones a ejecutar.
  • Finalmente, es importante terminar cada caso con break, para evitar que la ejecución continúe hacia los otros casos.
  • Si ninguno de los valores coincide, puedes usar default para ejecutar un bloque de código por defecto.

Aquí tienes un ejemplo para entender mejor cómo usar estas tres funciones:

String dia = 'lunes';

switch (dia) {
  case 'lunes':
    print('Inicio de la semana');
    break;
  case 'martes':
    print('Segundo día');
    break;
  case 'miércoles':
    print('Mitad de la semana');
    break;
  case 'jueves':
    print('Casi el final');
    break;
  case 'viernes':
    print('Final de la semana');
    break;
  case 'sábado':
    print('Es fin de semana');
    break;
  case 'domingo':
    print('Es fin de semana');
    break;
  default:
    print('Día desconocido');
}
Inicio de la semana

Este código mostrará «Inicio de la semana» en la consola porque el valor de la variable dia es «lunes».

Conclusión

En conclusión, ser capaz de realizar diferentes acciones según una o más condiciones es una noción fundamental que debes dominar para programar una aplicación en Flutter. Esta noción es aún más poderosa cuando se combina con bucles, que es el tema que se presenta en el siguiente artículo: