W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Rust 提供的 if 語(yǔ)法不是特別復(fù)雜,但它比起傳統(tǒng)的系統(tǒng)語(yǔ)言更像動(dòng)態(tài)類型語(yǔ)言中提供的 if。接下來(lái)讓我們談?wù)撍?,以確保你掌握 Rust 中 if 的微妙之處。
if 是“分支”特定形式的更一般的概念。這個(gè)名字來(lái)自于樹(shù)中的一個(gè)分支:在一個(gè)決策點(diǎn)有多條路徑可以選擇,當(dāng)我們依賴于某個(gè)條件可以選擇其中一個(gè)分支。
if 通常情況是一個(gè)選擇會(huì)有兩條路徑:
let x = 5;
if x == 5 {
println!("x is five!");
}
如果我們改變了 x 的值,上面那一行不會(huì)打印。更具體地說(shuō),如果 if 后面的表達(dá)式的求值結(jié)果為 true,那么它后面的語(yǔ)句塊會(huì)被執(zhí)行。如果是 false,那么該語(yǔ)句塊不會(huì)被執(zhí)行。
如果你想要在 if 后面表達(dá)式是 false 時(shí)發(fā)生什么,你可以使用一個(gè) else 語(yǔ)句:
let x = 5;
if x == 5 {
println!("x is five!");
} else {
println!("x is not five :(");
}
如果有一個(gè)以上的情況下,可以使用 else if 語(yǔ)句:
let x = 5;
if x == 5 {
println!("x is five!");
} else if x == 6 {
println!("x is six!");
} else {
println!("x is not five or six :(");
}
這都是非常標(biāo)準(zhǔn)的語(yǔ)法結(jié)構(gòu)。然而,你也可以這樣做:
let x = 5;
let y = if x == 5 {
10
} else {
15
}; // y: i32
我們可以(而且應(yīng)該)這樣寫:
let x = 5;
let y = if x == 5 { 10 } else { 15 }; // y: i32
上面的代碼會(huì)正常執(zhí)行,因?yàn)?if 是個(gè)表達(dá)式。表達(dá)式的值是被選擇的那個(gè)分支中最后一個(gè)表達(dá)式的值。并且如果 if 語(yǔ)句后面沒(méi)有 else 語(yǔ)句,通常會(huì)將 () 作為語(yǔ)句執(zhí)行的結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: