最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Rust 模式匹配示例詳解

 更新時(shí)間:2022年10月21日 14:21:10   作者:昆吾kw  
這篇文章主要為大家介紹了Rust 模式匹配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

函數(shù)

今天學(xué)習(xí)的內(nèi)容是 Rust 中的函數(shù)。

函數(shù),和 if 條件控制,while、loop、for 循環(huán)控制,在底層都是使用跳轉(zhuǎn)實(shí)現(xiàn)的,所以函數(shù)也屬于流程控制的一種??梢赃@樣理解,當(dāng)函數(shù)執(zhí)行時(shí),程序的執(zhí)行主體就進(jìn)入了函數(shù)內(nèi)部,當(dāng)函數(shù)執(zhí)行完畢,則又返還回去,這就是函數(shù)的流程控制。

Rust 中使用函數(shù)和 Typescript 比較像,需要關(guān)注參數(shù)的類型返回值的類型, 再就是有一點(diǎn) Rust 語(yǔ)言的特性,返回值可以是一個(gè)表達(dá)式。

參數(shù)的類型注解和變量是一樣的,在參數(shù)名為使用冒號(hào) : 指定類型,返回值的類型使用箭頭 -> 表示。如果函數(shù)沒有返回值,則可以省略。

斐波那契數(shù)列函數(shù)

比如一個(gè)斐波那契數(shù)列函數(shù):

fn fibonacci(n: u64) -> u64 {
    if n < 2 {
        return n;
    }
    return fibonacci(n - 1) + fibonacci(n - 2);
}
fn main() {
    println!("斐波那契數(shù)列的第 10 項(xiàng)是:{:?}", fibonacci(10)); // 55
}

前面說過,Rust 是基于表達(dá)式的,函數(shù)中也能用到這個(gè)特性。一般函數(shù)都會(huì)使用 return 來結(jié)束函數(shù)的調(diào)用和返回值。

Rust 中的函數(shù),如果沒有 return,默認(rèn)會(huì)將最后一個(gè)表達(dá)式的值作為函數(shù)的返回值,所以上面的斐波那契數(shù)列函數(shù)可以寫成:

fn fibonacci(n: u64) -> u64 {
    if n < 2 {
        n
    } else {
        fibonacci(n - 1) + fibonacci(n - 2)
    }
}

函數(shù)沒有返回值時(shí),可以省略返回值的類型,或者寫成 ()

fn log1(message: &str) {
    println!("{}", message);
}
fn log2(message: &str) -> () {
    println!("{}", message);
}
fn main() {
    let message = "測(cè)試";
    log1(message);
    log2(message);
}

小結(jié)

本文介紹了 Rust 中的函數(shù)類型,從程序執(zhí)行的角度看,它也屬于流程控制的一種。但更多時(shí)候我們只把函數(shù)看作是對(duì)一個(gè)功能的封裝。Rust 具備函數(shù)式編程的特性,所以函數(shù)是 Rust 中的重中之重。

以上就是Rust 模式匹配示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Rust 模式匹配的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++的替代:微軟如何使用rust?

    C++的替代:微軟如何使用rust?

    這篇文章主要介紹了微軟如何使用rust的,幫助大家了解c++和rust這兩門編程語(yǔ)言的聯(lián)系與區(qū)別,感興趣的朋友可以了解下
    2020-09-09
  • 如何使用rust實(shí)現(xiàn)簡(jiǎn)單的單鏈表

    如何使用rust實(shí)現(xiàn)簡(jiǎn)單的單鏈表

    實(shí)現(xiàn)單鏈表在別的語(yǔ)言里面可能是一件簡(jiǎn)單的事情,單對(duì)于Rust來說,絕對(duì)不簡(jiǎn)單,下面這篇文章主要給大家介紹了關(guān)于如何使用rust實(shí)現(xiàn)簡(jiǎn)單的單鏈表的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Rust實(shí)現(xiàn)一個(gè)表達(dá)式Parser小結(jié)

    Rust實(shí)現(xiàn)一個(gè)表達(dá)式Parser小結(jié)

    這篇文章主要為大家介紹了Rust實(shí)現(xiàn)一個(gè)表達(dá)式Parser小結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 深入理解Rust中Cargo的使用

    深入理解Rust中Cargo的使用

    本文主要介紹了深入理解Rust中Cargo的使用,Cargo簡(jiǎn)化了項(xiàng)目的構(gòu)建過程,提供了依賴項(xiàng)管理,以及一系列方便的工作流程工具,下面就來具體的介紹一下如何使用,感興趣的可以了解一下
    2024-04-04
  • Rust之Rhai腳本編程的示例

    Rust之Rhai腳本編程的示例

    文章介紹了如何在Rust中使用Rhai庫(kù)執(zhí)行腳本,包括添加依賴、創(chuàng)建引擎、定義腳本、執(zhí)行腳本并處理結(jié)果,示例展示了如何定義一個(gè)簡(jiǎn)單的函數(shù)并調(diào)用它,輸出問候信息
    2025-02-02
  • 詳解Rust中的所有權(quán)機(jī)制

    詳解Rust中的所有權(quán)機(jī)制

    Rust?語(yǔ)言提供了跟其他系統(tǒng)編程語(yǔ)言相同的方式來控制你使用的內(nèi)存,但擁有數(shù)據(jù)所有者在離開作用域后自動(dòng)清除其數(shù)據(jù)的功能意味著你無(wú)須額外編寫和調(diào)試相關(guān)的控制代碼,這篇文章主要介紹了Rust中的所有權(quán)機(jī)制,需要的朋友可以參考下
    2022-10-10
  • Rust中的不安全代碼詳解

    Rust中的不安全代碼詳解

    這篇文章主要為大家介紹了Rust中的不安全代碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 從迷你todo?命令行入門Rust示例詳解

    從迷你todo?命令行入門Rust示例詳解

    這篇文章主要為大家介紹了從一個(gè)迷你todo命令行入門Rust的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 詳解Rust中的workspace

    詳解Rust中的workspace

    這篇文章主要向大家介紹Rust中的workspace,主要內(nèi)容包括基礎(chǔ)應(yīng)用、實(shí)用技巧、原理機(jī)制等方面,這個(gè)概念在Rust中是通用的,只不過maven換成了cargo,而模塊變成了crate,下面跟著小編通過一個(gè)例子給大家介紹下
    2022-03-03
  • 用rust?寫一個(gè)jar包?class沖突檢測(cè)工具

    用rust?寫一個(gè)jar包?class沖突檢測(cè)工具

    這篇文章主要介紹了用rust?寫一個(gè)jar包?class沖突檢測(cè)工具?的相關(guān)資料,需要的朋友可以參考下
    2023-05-05

最新評(píng)論

靖远县| 登封市| 库伦旗| 子长县| 东平县| 汪清县| 河间市| 阳曲县| 理塘县| 称多县| 雅江县| 津南区| 灵石县| 常山县| 阳山县| 左云县| 乌拉特中旗| 达拉特旗| 怀集县| 布拖县| 雷州市| 太保市| 平潭县| 方城县| 鄂托克旗| 博野县| 修文县| 永丰县| 辽源市| 天水市| 台山市| 克什克腾旗| 阿鲁科尔沁旗| 呼伦贝尔市| 桑日县| 老河口市| 汕头市| 沙洋县| 石河子市| 兴化市| 大姚县|