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