條件判斷
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)
}
}