W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Rust 中也有 while 循環(huán)。如下代碼所示:
let mut x = 5; // mut x: i32
let mut done = false; // mut done: bool
while !done {
x += x - 3;
println!("{}", x);
if x % 5 == 0 {
done = true;
}
}
當你不能確定你需要循環(huán)多少次的時候 while 循環(huán)是一個不錯的選擇。
如果你需要一個無限循環(huán),你可能嘗試如下這樣寫:
while true {
然而,Rust 有一個專用的關(guān)鍵字, loop ,來解決這個問題:
loop {
Rust 的控制流分析相對于 while true,在處理此構(gòu)建上有所不同,因為我們知道它將永遠循環(huán)。一般情況下,我們給編譯器的信息越多,編譯器越能夠更好的處理安全和代碼生成問題,所以在你打算實現(xiàn)無限循環(huán)時,你應該首選 loop。
讓我們看看早些時候我們有的 while 循環(huán):
let mut x = 5;
let mut done = false;
while !done {
x += x - 3;
println!("{}", x);
if x % 5 == 0 {
done = true;
}
}
我們不得不使用專用的 mut 布爾變量綁定, done,用來讓我們知道什么時候應該退出循環(huán)。Rust 有兩個關(guān)鍵字來幫助我們修改循環(huán): break 和 continue。
在這種情況下,我們可以通過使用 break ,來用一種更好的方式書寫循環(huán):
let mut x = 5;
loop {
x += x - 3;
println!("{}", x);
if x % 5 == 0 { break; }
}
現(xiàn)在我們使用 loop 來實現(xiàn)無限循環(huán),同時使用 break 來提早退出循環(huán)。
continue 是相似的,但是它不是結(jié)束循環(huán),而是轉(zhuǎn)到下一次循環(huán)。以下是只打印奇數(shù)的代碼:
for x in 0..10 {
if x % 2 == 0 { continue; }
println!("{}", x);
}
continue 和 break 在 while 循環(huán)和 for循環(huán)中都有效。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: