當前位置:編程學習大全網 - 編程語言 - rust替換函數名

rust替換函數名

1、函數簡介

①、Rust 的函數使用關鍵字 fn 開頭,函數名稱使用snake case規範風格(所有字母小寫並使用下劃線分隔);

②、可以有壹系列的輸入參數,可以有壹個返回值;

③、函數返回可以使用 return 語句,也可以使用表達式(末尾不帶分號);

④、函數也可以不寫返回類型,這種情況下,編譯器會認為返回類型是unit();

⑤、可執行程序的入口是 fn main();

⑥、調用函數時,Rust不關心函數定義在哪(前後都無所謂),只要定義了就行;

⑦、Rust 函數體內可以定義其它模塊,比如靜態變量、常量、函數、trait、類型等。

2、函數實例

fn main() {

let num = add(1,2);

println!("{}",num)

}

fn add(x:i32,y:i32) -> i32{

x+y

}

登錄後復制

3、函數返回值

需要註意語句和表達式的區別,表達式沒有分號,有返回值。語句結尾有分號,沒有返回值。

所以對於如下函數,如果函數體加上分號,則會報錯:

fn add(x:i32,y:i32) -> i32{

x+y;

}

登錄後復制

把 x+y; 變成表達式即可(去掉末尾的分號)。

4、發散函數

Rust 支持壹種特殊的發散函數(Diverging functions),它的返回類型是感嘆號 !。

如果壹個函數根本就不能正常返回,那麽它就可以這樣寫:

fn diverges() -> !{

//panic! 會直接導致棧展開,所以這個函數調用後面的代碼都不會執行,它的返回類型就是!

panic!("函數不能返回");

}

登錄後復制

發散函數的最大特點:可以被轉換成任意壹個類型。

在Rust 中,有下列情況返回類型都是 !:

1.panic! 以及基於它實現的各種函數/宏,比如unimplemented!、unreachable!

2.死循環loop{}

3.進程退出函數std::process::exit以及類似的libc 中的exec壹類函數。

5、const fn

函數可以用 const 關鍵字修飾,這樣的函數可以在編譯階段被編譯器執行,返回值也被視為編譯期常量。

需要註意的是:const 函數是在編譯階段執行的,因此相比普通函數有很多限制,並非所有的表達式和語句都可以在其中使用。

  • 上一篇:湖北省孝感美佳職業學院2022年招生簡章

    2022年湖北孝感美嘉職業學院招生章程已經公布,主要包括學校概況、招生計劃、報考條件、錄取規則、收費標準、獎學金等信息。以下是詳細內容,供大家參考。

    湖北孝感美佳職業學院2022年招生章程第壹章總則

    第壹條為保證學校2022年招生工作順利進行,根據《中華人民共和國教育法》、《中華人民共和國高等教育法》、教育部和湖北省教育廳的有關

  • 下一篇:2023年迎亞運會手抄報怎麽做
  • copyright 2024編程學習大全網