橘子味的心
标题:Rust if in a let语句

let语句的右侧使用if表达式,并将if表达式的值赋给let语句。

if in a let语法

  1. Let variable_name= if condition{
  2. //code blocks
  3. }else{
  4. //code block
  5. }
  6. Rust

在上面的语法中,如果条件为真,则将if表达式的值赋给变量,如果条件为false,则将else的值赋给变量。

示例1

下面来看一个简单的例子。

  1. fn main(){
  2.  
  3. let a=if true
  4. {
  5. 1
  6. }
  7. else
  8. {
  9. 2
  10. };
  11. println!("value of a is: {}", a);
  12. }
  13. Rust

执行上面示例代码,得到以下结果 -

  1. value of a is: 1
  2. Shell

在此示例中,条件为真。 因此,a变量与if表达式的值绑定。现在,a的值是1

下面再来看一个另一个简单的例子。

  1. fn main(){
  2.  
  3. let a=if false
  4. {
  5. 9
  6. }
  7. else
  8. {
  9. "yiibai"
  10. };
  11. println!("value of a is: {}", a);
  12. }
  13. Rust

执行上面示例代码,得到以下结果 -

Some errors occurred:E0308

在此示例中,if块计算为整数值,而else块计算为字符串值。因此,该程序抛出错误,因为两个块都包含不同类型的值。