En este tema, aprenderemos sobre las estructuras de control de flujo en Rust, que nos permiten dirigir la ejecución de nuestro programa en función de condiciones y repeticiones. Las estructuras de control de flujo son fundamentales para escribir programas que puedan tomar decisiones y realizar tareas repetitivas.
Contenido
Condicionales: if
, else if
, else
Sintaxis Básica
La estructura condicional if
se utiliza para ejecutar código basado en una condición booleana. La sintaxis básica es la siguiente:
fn main() { let number = 5; if number < 10 { println!("El número es menor que 10"); } else if number == 10 { println!("El número es igual a 10"); } else { println!("El número es mayor que 10"); } }
Explicación
if
: Evalúa una condición. Si es verdadera, ejecuta el bloque de código asociado.else if
: Evalúa una nueva condición si la anterior fue falsa.else
: Ejecuta el bloque de código si todas las condiciones anteriores fueron falsas.
Ejemplo Práctico
fn main() { let temperature = 30; if temperature > 30 { println!("Hace calor"); } else if temperature < 10 { println!("Hace frío"); } else { println!("El clima es agradable"); } }
Bucles: loop
, while
, for
loop
El bucle loop
ejecuta un bloque de código indefinidamente hasta que se encuentre una instrucción break
.
fn main() { let mut count = 0; loop { count += 1; println!("Contando: {}", count); if count == 5 { break; } } }
while
El bucle while
ejecuta un bloque de código mientras una condición sea verdadera.
fn main() { let mut number = 3; while number != 0 { println!("{}!", number); number -= 1; } println!("¡Despegue!"); }
for
El bucle for
itera sobre una colección de elementos, como un rango o un array.
fn main() { let a = [10, 20, 30, 40, 50]; for element in a.iter() { println!("El valor es: {}", element); } }
Expresiones match
La expresión match
permite comparar un valor contra una serie de patrones y ejecutar el código correspondiente al primer patrón que coincida.
Sintaxis Básica
fn main() { let number = 3; match number { 1 => println!("Uno"), 2 => println!("Dos"), 3 => println!("Tres"), _ => println!("Otro número"), } }
Explicación
- Patrones: Cada rama de
match
tiene un patrón y un bloque de código. _
: Es un comodín que coincide con cualquier valor no cubierto por los patrones anteriores.
Ejemplo Práctico
fn main() { let day = "Martes"; match day { "Lunes" => println!("Inicio de la semana"), "Martes" => println!("Segundo día de la semana"), "Miércoles" => println!("Mitad de la semana"), "Jueves" => println!("Casi fin de semana"), "Viernes" => println!("Fin de la semana laboral"), "Sábado" | "Domingo" => println!("Fin de semana"), _ => println!("Día no válido"), } }
Ejercicios Prácticos
Ejercicio 1: Condicionales
Escribe un programa que verifique si un número es positivo, negativo o cero.
fn main() { let number = -5; if number > 0 { println!("El número es positivo"); } else if number < 0 { println!("El número es negativo"); } else { println!("El número es cero"); } }
Ejercicio 2: Bucles
Escribe un programa que imprima los números del 1 al 10 usando un bucle for
.
Ejercicio 3: match
Escribe un programa que use match
para imprimir el nombre del día de la semana basado en un número del 1 al 7.
fn main() { let day_number = 4; match day_number { 1 => println!("Lunes"), 2 => println!("Martes"), 3 => println!("Miércoles"), 4 => println!("Jueves"), 5 => println!("Viernes"), 6 => println!("Sábado"), 7 => println!("Domingo"), _ => println!("Número de día no válido"), } }
Resumen
En esta sección, hemos aprendido sobre las estructuras de control de flujo en Rust, incluyendo condicionales (if
, else if
, else
), bucles (loop
, while
, for
) y la expresión match
. Estas herramientas son esenciales para escribir programas que puedan tomar decisiones y realizar tareas repetitivas de manera eficiente. Asegúrate de practicar estos conceptos con los ejercicios proporcionados para reforzar tu comprensión. ¡En el próximo módulo, exploraremos la propiedad y el préstamo en Rust!
Curso de Programación en Rust
Módulo 1: Introducción a Rust
- ¿Qué es Rust?
- Configuración del Entorno de Rust
- Programa "Hola, Mundo!"
- Sintaxis y Estructura Básica