Rust學習(6):控制流

條件判斷

if-else if -else

fn main() {
    let number  = 3;

    if number < 7{ 
        println!("smaller")
    }else if 7 <= number && number < 10{
        println!("medium")
    }else{
        println!("large")
    }   
}

1、 條件必須是bool值,Rust 並不會嘗試自動地將非布爾值轉換爲布爾值
2、Rust按順序檢查每個 if 表達式, 只會執行第一個條件爲真的代碼塊,並且一旦它找到一個以後,就不會檢查剩下的條件了。
3、如果有多於一個 else if 表達式,最好使用match重構代碼

在 let 語句中使用 if

fn main() {
    let condition = true;
    let number = if condition {  //將 if 表達式的返回值賦給一個變量
        2
    } else {
        1
    };

    println!("The value of number is: {}", number);
}

1、因爲 if 是一個表達式,我們可以在 let 語句的右側使用它
2、,整個 if 表達式的值取決於哪個代碼塊被執行。這意味着 if 的每個分支的可能的返回值都必須是相同類型。如果返回值類型不相同編譯就不能通過

循環代碼

loop循環

fn main() {
    let mut i = 0;
    loop{
        println!("i = {}", i);
        i = i + 1;
        if i == 10{
            break;
        }
    }
}

loop無限循環,直到break或者ctrl+c才跳出循環

while循環

fn main() {
    let mut  i = 0;
    while i < 10{
        println!("i = {}", i);
        i = i + 1;
    }
}

while滿足條件則進入循環,直到不滿足條件就退出

for遍歷集合

使用for遍歷集合中的元素

fn main() {
    let a = [10, 20, 30, 40, 50];

    for element in a.iter(){
        println!("element is {}", element)
    }
}

rev,用來反轉 range:

fn main() {

    for element in (1..4).rev(){
        println!("element is {}", element)
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章