99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

while 循環(huán)

2018-08-12 22:03 更新

While 循環(huán)

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;
}
}  

當(dāng)你不能確定你需要循環(huán)多少次的時(shí)候 while 循環(huán)是一個(gè)不錯(cuò)的選擇。

如果你需要一個(gè)無限循環(huán),你可能嘗試如下這樣寫:

while true {  

然而,Rust 有一個(gè)專用的關(guān)鍵字, loop ,來解決這個(gè)問題:

loop {

Rust 的控制流分析相對于 while true,在處理此構(gòu)建上有所不同,因?yàn)槲覀冎浪鼘⒂肋h(yuǎn)循環(huán)。一般情況下,我們給編譯器的信息越多,編譯器越能夠更好的處理安全和代碼生成問題,所以在你打算實(shí)現(xiàn)無限循環(huán)時(shí),你應(yīng)該首選 loop

提早結(jié)束循環(huán)

讓我們看看早些時(shí)候我們有的 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,用來讓我們知道什么時(shí)候應(yīng)該退出循環(huán)。Rust 有兩個(gè)關(guān)鍵字來幫助我們修改循環(huán): breakcontinue

在這種情況下,我們可以通過使用 break ,來用一種更好的方式書寫循環(huán):

let mut x = 5;

loop {
x += x - 3;

println!("{}", x);

if x % 5 == 0 { break; }
}

現(xiàn)在我們使用 loop 來實(shí)現(xiàn)無限循環(huán),同時(shí)使用 break 來提早退出循環(huán)。

continue 是相似的,但是它不是結(jié)束循環(huán),而是轉(zhuǎn)到下一次循環(huán)。以下是只打印奇數(shù)的代碼:

for x in 0..10 {
if x % 2 == 0 { continue; }

println!("{}", x);
}

continuebreakwhile 循環(huán)和 for循環(huán)中都有效。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號