📜  Rust - 如果让操作员

📅  最后修改于: 2022-05-13 01:55:30.776000             🧑  作者: Mango

Rust - 如果让操作员

传统的 if-else 和 if let 之间的基本区别在于 if let 使用一种需要与表达式匹配的模式,也称为被审查者,如果模式与表达式匹配,则执行相应的代码,或者在大多数情况下该值是根据它分配的。

句法 :

let gfg=value;
let gfg_answer=if let value_1 = expression{
}
else if let value_2=expression{
}
...
else{
}  

示例 1:在 Rust 中为 if let运算符编程。

  • 在这个例子中,我们将有一个变量gfg=”algo” 的值,我们将检查它与其他值。
  • 对于这里的第一个条件,如果字符串“cp”等于 gfg 变量,那么gfg_answer将被分配值dsa topic=cp ”,因为我们使用concat 方法添加dsa topic=cp ”。
let gfg_answer=if let "cp" = gfg {
   concat!("dsa topic=","cp")
} 
  • 如果不满足此条件,则它将检查其他 else if 或 else 条件。
  • 最后一步是打印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);
}


Rust
// Rust program for if let operator
fn main() {
    
// gfg variable assigne 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 );
}


输出 :



dsa topic=algo

示例 2:

  • 在这里,我们将使用值为 10 的gfg变量,并将其与值进行比较并根据它分配变量gfg_answer
let gfg = Some(10);
let gfg_answer = if let Some(10) = gfg {
    11
}
  • 我们将继续检查条件,直到匹配某个条件或最后一个条件成为 else 条件。
  • 最后,我们将打印gfg_answer变量。

下面是 if let运算符Rust 的程序。

// Rust program for if let operator
fn main() {
    
// gfg variable assigne 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 );
}

输出 :

gfg_answer=11