La diferencia básica entre if-else convencional y if let es que if let usa un patrón que debe coincidir con una expresión también conocida como scrutinee, si el patrón coincide con la expresión, entonces se ejecuta el código correspondiente o, en la mayoría de los casos, ese valor se asigna de acuerdo a ello.
Sintaxis:
let gfg=value; let gfg_answer=if let value_1 = expression{ } else if let value_2=expression{ } ... else{ }
Ejemplo 1: Programa para el operador if let en Rust.
- En este ejemplo, el valor tendremos una variable gfg=”algo” y lo compararemos con otros valores.
- Para la primera condición aquí, si la string «cp» es igual a la variable gfg, a gfg_answer se le asignará el valor » dsa topic=cp « porque usamos el método concat para agregar » dsa topic= « y » cp «.
let gfg_answer=if let "cp" = gfg { concat!("dsa topic=","cp") }
- Si no se cumple esta condición, se comprobará si hay otras condiciones si o si no.
- El paso final es imprimir el valor de gfg_answer .
Rust
// Rust program for if let operator fn main() { // string created algo assigned to gfg let gfg = "algo"; // using if let operator let gfg_answer = if let "cp" = gfg { concat!("dsa topic=","cp") } else if let "ds" = gfg { concat!("dsa topic=","ds") } else if let "algo" = gfg { concat!("dsa topic=","algo") } else { concat!("dsa topic=","not in gfg") }; // printing the gfg_answer variable println!("{}",gfg_answer); }
Producción :
dsa topic=algo
Ejemplo 2:
- Aquí usaremos la variable gfg que tiene el valor 10, la compararemos con los valores y asignaremos la variable gfg_answer de acuerdo con ella.
let gfg = Some(10); let gfg_answer = if let Some(10) = gfg { 11 }
- Y seguiremos verificando las condiciones hasta que alguna condición coincida o la última sea la condición else.
- Finalmente, imprimiremos la variable gfg_answer .
A continuación se muestra el programa para el operador if let Rust.
Rust
// Rust program for if let operator fn main() { // gfg variable assigned value 10 let gfg = Some(10); // using if let operator let gfg_answer = if let Some(10) = gfg { 11 } else if Some(20) == gfg { 22 } else if let Some(30) = gfg { 33 } else { -1 }; // printing the value println!("gfg_anser={}",gfg_answer ); }
Producción :
gfg_answer=11
Publicación traducida automáticamente
Artículo escrito por rajatagrawal5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA