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)上述的功能的話(huà)可以使用如下代碼:
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ǔ)言類(lèi)似,更多的是用于遍歷的場(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ǔ)言比較類(lèi)似,此處就不再擴(kuò)展,不過(guò)Rust的風(fēng)格上我是比較喜歡的,類(lèi)似python、golang的風(fēng)格。
總結(jié)一下:
loop 適用于死循環(huán)或代碼段需要反復(fù)執(zhí)行的情況
while 適用于通過(guò)布爾表達(dá)式進(jìn)行循環(huán)控制的情況
for 適用于數(shù)組元素的遍歷情況
- 在win10上使用mingw64編譯器配置Rust開(kāi)發(fā)環(huán)境和idea 配置Rust 插件
- rust開(kāi)發(fā)環(huán)境配置詳細(xì)教程
- Rust語(yǔ)言的新手了解和學(xué)習(xí)入門(mén)啟蒙教程
- Rust中泛型的學(xué)習(xí)筆記
- Rust?枚舉的使用學(xué)習(xí)筆記
- Rust中箱、包和模塊的學(xué)習(xí)筆記
- rust多樣化錯(cuò)誤處理(從零學(xué)習(xí))
- 向Rust學(xué)習(xí)Go考慮簡(jiǎn)單字符串插值特性示例解析
- 為什么要選Rust?學(xué)習(xí)Rust從零開(kāi)始配置和實(shí)現(xiàn)第一個(gè)簡(jiǎn)單項(xiàng)目
相關(guān)文章
Rust生命周期常見(jiàn)誤區(qū)(中英對(duì)照)全面指南
這篇文章主要WEIDJAI?介紹了Rust生命周期常見(jiàn)誤區(qū)(中英對(duì)照)的全面指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
rust使用Atomic創(chuàng)建全局變量和使用操作方法
從 Rust1.34 版本后,就正式支持原子類(lèi)型,原子指的是一系列不可被 CPU 上下文交換的機(jī)器指令,這些指令組合在一起就形成了原子操作,這篇文章主要介紹了rust使用Atomic創(chuàng)建全局變量和使用,需要的朋友可以參考下2024-05-05
Rust中用enum實(shí)現(xiàn)多參數(shù)Hook機(jī)制完整代碼
在 Rust 中,如果想為enum實(shí)現(xiàn)一個(gè)帶多參數(shù)的 Hook 機(jī)制,可以結(jié)合模式匹配和枚舉來(lái)處理,這種方式可以擴(kuò)展到支持不同類(lèi)型的輸入?yún)?shù)和邏輯處理,下面通過(guò)示例代碼介紹Rust中用enum實(shí)現(xiàn)多參數(shù)Hook機(jī)制,感興趣的朋友一起看看吧2024-12-12
Rust-使用dotenvy加載和使用環(huán)境變量的過(guò)程詳解
系統(tǒng)的開(kāi)發(fā),測(cè)試和部署離不開(kāi)環(huán)境變量,今天分享在Rust的系統(tǒng)開(kāi)發(fā)中,使用dotenvy來(lái)讀取和使用環(huán)境變量,感興趣的朋友跟隨小編一起看看吧2023-11-11
Rust初體驗(yàn):手把手教你構(gòu)建‘Hello,?World!’
"準(zhǔn)備好了嗎?一起踏上Rust編程語(yǔ)言的精彩旅程!在這篇「Rust初體驗(yàn)」中,我們將手把手教你構(gòu)建經(jīng)典程序“Hello,?World!”,感受Rust的強(qiáng)大與安全,短短幾行代碼,就能讓你對(duì)這個(gè)系統(tǒng)級(jí)語(yǔ)言的魅力一探究竟!快加入吧,驚喜等你發(fā)現(xiàn)!"2024-01-01
Windows系統(tǒng)下安裝Rust環(huán)境超詳細(xì)教程
這篇文章主要介紹了如何在Windows系統(tǒng)上安裝mingw64和Rust,mingw64是一個(gè)輕便的C語(yǔ)言編譯環(huán)境,可以替代Rust默認(rèn)使用的Visual?Studio,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02
Rust語(yǔ)言之結(jié)構(gòu)體和枚舉的用途與高級(jí)功能詳解
Rust 是一門(mén)注重安全性和性能的現(xiàn)代編程語(yǔ)言,其中結(jié)構(gòu)體和枚舉是其強(qiáng)大的數(shù)據(jù)類(lèi)型之一,了解結(jié)構(gòu)體和枚舉的概念及其高級(jí)功能,將使你能夠更加靈活和高效地處理數(shù)據(jù),本文將深入探討 Rust 中的結(jié)構(gòu)體和枚舉,并介紹它們的用途和高級(jí)功能2023-10-10

