新聞中心
Rust 循環(huán)中包括while、for、loop循環(huán)等,本篇文章重點(diǎn)為大家講解一下Rust 循環(huán)的具體使用方法。

目前創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、汝陽(yáng)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
while 循環(huán)
while 循環(huán)是最典型的條件語(yǔ)句循環(huán):
實(shí)例
fn main() {
let mut number = 1;
while number != 4 {
println!("{}", number);
number += 1;
}
println!("EXIT");
}
運(yùn)行結(jié)果:
1
2
3
EXIT
Rust 語(yǔ)言到此教程編撰之日還沒有 do-while 的用法,但是 do 被規(guī)定為保留字,也許以后的版本中會(huì)用到。
在 C 語(yǔ)言中 for 循環(huán)使用三元語(yǔ)句控制循環(huán),但是 Rust 中沒有這種用法,需要用 while 循環(huán)來(lái)代替:
C 語(yǔ)言
int i;
for (i = 0; i let mut i = 0;
while i
for 循環(huán)
for 循環(huán)是最常用的循環(huán)結(jié)構(gòu),常用來(lái)遍歷一個(gè)線性數(shù)據(jù)據(jù)結(jié)構(gòu)(比如數(shù)組)。for 循環(huán)遍歷數(shù)組:
實(shí)例
fn main() {
let a = [10, 20, 30, 40, 50];
for i in a.iter() {
println!("值為 : {}", i);
}
}
運(yùn)行結(jié)果:
值為 : 10
值為 : 20
值為 : 30
值為 : 40
值為 : 50
這個(gè)程序中的 for 循環(huán)完成了對(duì)數(shù)組 a 的遍歷。a.iter() 代表 a 的迭代器(iterator),在學(xué)習(xí)有關(guān)于對(duì)象的章節(jié)以前不做贅述。
當(dāng)然,for 循環(huán)其實(shí)是可以通過下標(biāo)來(lái)訪問數(shù)組的:
實(shí)例
fn main() {
let a = [10, 20, 30, 40, 50];
for i in 0..5 {
println!("a[{}] = {}", i, a[i]);
}
}
運(yùn)行結(jié)果:
a[0] = 10
a[1] = 20
a[2] = 30
a[3] = 40
a[4] = 50
loop 循環(huán)
身經(jīng)百戰(zhàn)的開發(fā)者一定遇到過幾次這樣的情況:某個(gè)循環(huán)無(wú)法在開頭和結(jié)尾判斷是否繼續(xù)進(jìn)行循環(huán),必須在循環(huán)體中間某處控制循環(huán)的進(jìn)行。如果遇到這種情況,我們經(jīng)常會(huì)在一個(gè) while (true) 循環(huán)體里實(shí)現(xiàn)中途退出循環(huán)的操作。
Rust 語(yǔ)言有原生的無(wú)限循環(huán)結(jié)構(gòu) —— loop:
實(shí)例
fn main() {
let s = ['R', 'U', 'N', 'O', 'O', 'B'];
let mut i = 0;
loop {
let ch = s[i];
if ch == 'O' {
break;
}
println!("\'{}\'", ch);
i += 1;
}
}
運(yùn)行結(jié)果:
'R'
'U'
'N'
loop 循環(huán)可以通過 break 關(guān)鍵字類似于 return 一樣使整個(gè)循環(huán)退出并給予外部一個(gè)返回值。這是一個(gè)十分巧妙的設(shè)計(jì),因?yàn)?loop 這樣的循環(huán)常被用來(lái)當(dāng)作查找工具使用,如果找到了某個(gè)東西當(dāng)然要將這個(gè)結(jié)果交出去:
實(shí)例
fn main() {
let s = ['R', 'U', 'N', 'O', 'O', 'B'];
let mut i = 0;
let location = loop {
let ch = s[i];
if ch == 'O' {
break i;
}
i += 1;
};
println!(" \'O\' 的索引為 {}", location);
}
運(yùn)行結(jié)果:
'O' 的索引為 3
本文標(biāo)題:詳解Rust循環(huán)
標(biāo)題網(wǎng)址:http://www.5511xx.com/article/coehcos.html


咨詢
建站咨詢
