Rust個(gè)人學(xué)習(xí)小結(jié)之Rust的循環(huán)
今天主要了解了Rust語(yǔ)言的3種循環(huán)方法: loop、while、for。
首先聊聊loop,loop的主要作用是循環(huán)某段代碼段,使用方法如下
fn main() { loop { println!("loop test"); } }
其中打印loop test這條代碼會(huì)無(wú)限循環(huán),運(yùn)行結(jié)果如下
loop test
loop test
loop test
loop test
loop test
loop test
loop test
loop test
loop test
loop test
loop test
loop test
loop test
loop test
loop test
lo^C
如果不進(jìn)行人為介入,這個(gè)程序會(huì)一直跑下去,循環(huán)打印“loop test”, 看截圖中的^C是手動(dòng)執(zhí)行Ctrl+C 強(qiáng)制停止的, 所以loop默認(rèn)是持續(xù)循環(huán),不會(huì)退出,如果想退出loop循環(huán)除了手動(dòng)強(qiáng)制停止外,在源碼中可以使用關(guān)鍵字break進(jìn)行操作,比如下面這段代碼:
fn main() { let mut num = 0; loop { if num < 5 { println!("num is {}",num); num = num + 1; } else { break; } } println!("LOOP FINISH!"); }
這段代碼邏輯是每循環(huán)一次num加1,當(dāng)num大于等于5時(shí)就執(zhí)行break,也就是退出loop循環(huán),所以最終執(zhí)行的結(jié)果是:
num is 0
num is 1
num is 2
num is 3
num is 4
LOOP FINISH!
從結(jié)果也可以看出,當(dāng)num等于五后 就退出了loop,打印了“LOOP FINISH!”字樣。
看完loop我們?cè)賮?lái)看一下while循環(huán),Rust的while循環(huán)跟其他語(yǔ)言的while用法基本相同,主要是通過(guò)布爾表達(dá)式來(lái)控制while循環(huán),比如我們通過(guò)while實(shí)現(xiàn)上述的功能的話可以使用如下代碼:
fn main() { let mut num = 0; while num < 5 { println!("num is {}", num); num = num + 1; } println!("WHILE FINISH!"); }
僅從代碼行數(shù)就能看出來(lái),實(shí)現(xiàn)上述相同的功能,while顯得更優(yōu)雅一點(diǎn),或者說(shuō)while更適合通過(guò)條件表達(dá)式控制循環(huán)的情況。
for循環(huán)也跟其他語(yǔ)言類似,更多的是用于遍歷的場(chǎng)景,還是打印相同的東西,使用for循環(huán)實(shí)現(xiàn)方式如下:
fn main() { let num_list = [0,1,2,3,4]; for num in num_list.iter() { println!("num is {}", num); } println!("FOR FINISH"); }
對(duì)于數(shù)組遍歷,for循環(huán)是比較適用的,由于while和for與其他語(yǔ)言比較類似,此處就不再擴(kuò)展,不過(guò)Rust的風(fēng)格上我是比較喜歡的,類似python、golang的風(fēng)格。
總結(jié)一下:
loop 適用于死循環(huán)或代碼段需要反復(fù)執(zhí)行的情況
while 適用于通過(guò)布爾表達(dá)式進(jìn)行循環(huán)控制的情況
for 適用于數(shù)組元素的遍歷情況
相關(guān)文章
Rust實(shí)現(xiàn)構(gòu)建器模式和如何使用Bon庫(kù)中的構(gòu)建器
這篇文章主要介紹了Rust實(shí)現(xiàn)構(gòu)建器模式和如何使用Bon庫(kù)中的構(gòu)建器,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-08-08rust 一個(gè)日志緩存記錄的通用實(shí)現(xiàn)方法
本文給出了一個(gè)通用的設(shè)計(jì)模式,通過(guò)建造者模式實(shí)例化記錄對(duì)象,可自定義格式化器將實(shí)例化后的記錄對(duì)象寫入到指定的緩存對(duì)象中,這篇文章主要介紹了rust 一個(gè)日志緩存記錄的通用實(shí)現(xiàn)方法,需要的朋友可以參考下2024-04-04rust多樣化錯(cuò)誤處理(從零學(xué)習(xí))
一個(gè)優(yōu)秀的項(xiàng)目,錯(cuò)誤處理的優(yōu)雅性是至關(guān)重要的,而rust,anyhow creat是繞不過(guò)去的一個(gè),今天我們來(lái)研究下,怎么使用它,幫助我們寫出更優(yōu)雅的代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-11-11