欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Rust個(gè)人學(xué)習(xí)小結(jié)之Rust的循環(huán)

 更新時(shí)間:2023年01月09日 15:19:06   作者:全年無休的IT老兵  
這篇文章主要介紹了Rust個(gè)人學(xué)習(xí)小結(jié)之Rust的循環(huán),今天主要了解了Rust語言的3種循環(huán)方法:?loop、while、for,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

今天主要了解了Rust語言的3種循環(huán)方法: loop、while、for。

首先聊聊loop,loop的主要作用是循環(huán)某段代碼段,使用方法如下

fn main() {
    loop {
        println!("loop test");
    }
}

其中打印loop test這條代碼會(huì)無限循環(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我們再來看一下while循環(huán),Rust的while循環(huán)跟其他語言的while用法基本相同,主要是通過布爾表達(dá)式來控制while循環(huán),比如我們通過while實(shí)現(xiàn)上述的功能的話可以使用如下代碼:

fn main() {
    let mut num = 0;
    while num < 5 {
        println!("num is {}", num);
        num = num + 1;
    }
 
    println!("WHILE FINISH!");
}

僅從代碼行數(shù)就能看出來,實(shí)現(xiàn)上述相同的功能,while顯得更優(yōu)雅一點(diǎn),或者說while更適合通過條件表達(dá)式控制循環(huán)的情況。

for循環(huán)也跟其他語言類似,更多的是用于遍歷的場景,還是打印相同的東西,使用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");
}

對于數(shù)組遍歷,for循環(huán)是比較適用的,由于while和for與其他語言比較類似,此處就不再擴(kuò)展,不過Rust的風(fēng)格上我是比較喜歡的,類似python、golang的風(fēng)格。

總結(jié)一下:

loop 適用于死循環(huán)或代碼段需要反復(fù)執(zhí)行的情況

while 適用于通過布爾表達(dá)式進(jìn)行循環(huán)控制的情況

for 適用于數(shù)組元素的遍歷情況

相關(guān)文章

  • Rust指南之泛型與特性詳解

    Rust指南之泛型與特性詳解

    泛型機(jī)制是編程語言用于表達(dá)類型抽象的機(jī)制,一般用于功能確定、數(shù)據(jù)類型待定的類,如鏈表、映射表等,這篇文章主要介紹了Rust指南泛型與特性,需要的朋友可以參考下
    2022-10-10
  • 在Rust?web服務(wù)中使用Redis的方法

    在Rust?web服務(wù)中使用Redis的方法

    這篇文章主要介紹了在Rust?web服務(wù)中使用Redis,在這篇文章中,我們將演示如何在一個(gè)Rust?web應(yīng)用程序中使用Redis,需要的朋友可以參考下
    2022-08-08
  • Rust 文檔注釋功能示例代碼

    Rust 文檔注釋功能示例代碼

    Rust的文檔注釋使用特定的格式,以便通過 rustdoc工具生成 API 文檔,本文給大家介紹Rust 文檔注釋功能,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Rust 智能指針實(shí)現(xiàn)方法

    Rust 智能指針實(shí)現(xiàn)方法

    這篇文章主要介紹了Rust 智能指針的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • rust生命周期詳解

    rust生命周期詳解

    生命周期是rust中用來規(guī)定引用的有效作用域,在大多數(shù)時(shí)候,無需手動(dòng)聲明,因?yàn)榫幾g器能夠自動(dòng)推導(dǎo),這篇文章主要介紹了rust生命周期相關(guān)知識(shí),需要的朋友可以參考下
    2023-03-03
  • Rust實(shí)現(xiàn)構(gòu)建器模式和如何使用Bon庫中的構(gòu)建器

    Rust實(shí)現(xiàn)構(gòu)建器模式和如何使用Bon庫中的構(gòu)建器

    這篇文章主要介紹了Rust實(shí)現(xiàn)構(gòu)建器模式和如何使用Bon庫中的構(gòu)建器,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • rust 如何使用文件鎖防止應(yīng)用多開

    rust 如何使用文件鎖防止應(yīng)用多開

    這篇文章主要介紹了rust 如何使用文件鎖防止應(yīng)用多開,本文給出了進(jìn)程只能單開的方法,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • rust 一個(gè)日志緩存記錄的通用實(shí)現(xiàn)方法

    rust 一個(gè)日志緩存記錄的通用實(shí)現(xiàn)方法

    本文給出了一個(gè)通用的設(shè)計(jì)模式,通過建造者模式實(shí)例化記錄對象,可自定義格式化器將實(shí)例化后的記錄對象寫入到指定的緩存對象中,這篇文章主要介紹了rust 一個(gè)日志緩存記錄的通用實(shí)現(xiàn)方法,需要的朋友可以參考下
    2024-04-04
  • 詳解Rust 修改源

    詳解Rust 修改源

    這篇文章主要介紹了Rust 修改源的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • rust多樣化錯(cuò)誤處理(從零學(xué)習(xí))

    rust多樣化錯(cuò)誤處理(從零學(xué)習(xí))

    一個(gè)優(yōu)秀的項(xiàng)目,錯(cuò)誤處理的優(yōu)雅性是至關(guān)重要的,而rust,anyhow creat是繞不過去的一個(gè),今天我們來研究下,怎么使用它,幫助我們寫出更優(yōu)雅的代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2023-11-11

最新評論