En Rust, match
es una poderosa expresión de control de flujo que permite comparar un valor contra múltiples patrones y ejecutar el código asociado al patrón coincidente. Es similar a una declaración switch
en otros lenguajes, pero mucho más flexible, ya que permite patrones complejos y garantiza que todos los casos posibles sean manejados.
El formato básico de un match
es:
match valor {
patrón1 => expresión1,
patrón2 => expresión2,
_ => expresión_por_defecto,
}
match
1. Comparar valores simples:
let numero = 3;
match numero {
1 => println!("Es uno"),
2 => println!("Es dos"),
3 => println!("Es tres"),
_ => println!("Es otro número"),
}
2. Patrones con rango:
let edad = 25;
match edad {
0..=12 => println!("Es un niño"),
13..=19 => println!("Es un adolescente"),
_ => println!("Es un adulto"),
}
3. Desempaquetar Option<T>
:
let valor = Some(5);
match valor {
Some(x) => println!("El valor es: {}", x),
None => println!("No hay valor"),
}
4. Manejo de enumeraciones:
enum Color {
Rojo,
Verde,
Azul,
}
let color = Color::Verde;
match color {
Color::Rojo => println!("Es rojo"),
Color::Verde => println!("Es verde"),
Color::Azul => println!("Es azul"),
}
Para más información sobre cómo utilizar match
en Rust, puedes consultar la documentación oficial de Rust.
Jorge García
Fullstack developer