Rust if in a let語句


let語句的右側使用if表示式,並將if表示式的值賦給let語句。

if in a let語法

Let variable_name= if condition{  
 //code blocks  
}else{  
 //code block  
}

在上面的語法中,如果條件為真,則將if表示式的值賦給變數,如果條件為false,則將else的值賦給變數。

範例1

下面來看一個簡單的例子。

fn main(){

 let a=if true  
       {  
          1  
       }  
       else  
       {  
           2  
       };  
 println!("value of a is: {}", a);
}

執行上面範例程式碼,得到以下結果 -

value of a is: 1

在此範例中,條件為真。 因此,a變數與if表示式的值系結。現在,a的值是1

下面再來看一個另一個簡單的例子。

fn main(){

 let a=if false  
       {  
          9  
       }  
       else  
       {  
           "yiibai"  
       };  
 println!("value of a is: {}", a);
}

執行上面範例程式碼,得到以下結果 -

Some errors occurred:E0308

在此範例中,if塊計算為整數值,而else塊計算為字串值。因此,該程式丟擲錯誤,因為兩個塊都包含不同型別的值。