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

Rust 模式匹配示例詳解

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

函數(shù)

今天學習的內容是 Rust 中的函數(shù)。

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

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

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

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

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

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

前面說過,Rust 是基于表達式的,函數(shù)中也能用到這個特性。一般函數(shù)都會使用 return 來結束函數(shù)的調用和返回值。

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

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

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

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

小結

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

以上就是Rust 模式匹配示例詳解的詳細內容,更多關于Rust 模式匹配的資料請關注腳本之家其它相關文章!

相關文章

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

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

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

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

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

    Rust實現(xiàn)一個表達式Parser小結

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

    深入理解Rust中Cargo的使用

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

    Rust之Rhai腳本編程的示例

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

    詳解Rust中的所有權機制

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

    Rust中的不安全代碼詳解

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

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

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

    詳解Rust中的workspace

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

    用rust?寫一個jar包?class沖突檢測工具

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

最新評論

泗洪县| 和田县| 通河县| 洪雅县| 澎湖县| 孟津县| 东城区| 汶川县| 拜泉县| 青冈县| 蒙自县| 阿图什市| 台江县| 繁峙县| 长兴县| 蕲春县| 潼南县| 昭觉县| 安康市| 博湖县| 廊坊市| 西丰县| 阿克陶县| 贵阳市| 梨树县| 福州市| 永春县| 定结县| 如皋市| 杭锦后旗| 通辽市| 广平县| 靖远县| 陇南市| 连平县| 内乡县| 商河县| 辽宁省| 长泰县| 连州市| 元谋县|