Rust 函數

notice

Rust 還沒到1.0,開發很快,請看官方文檔

Functions 函數

函數能夠在頂層的做用域聲明,也能夠在函數,模塊內聲明。
fn 關鍵字定義函數,後邊是函數名,參數列表,參數的名字和類型以冒號分割,箭頭-> 後指定返回值類型
例如:函數

fn line(a: int, b: int, x: int) -> int {
    return a * x + b;
}

函數可使用return當即返回值, return 後邊是表達式的話,return是可選的。好比能夠這樣寫:oop

fn line(a: int, b: int, x: int) -> int {
    a * x + b
}

這種方式是更好的Rust style。code

函數能夠沒有返回值,()也是無返回值的一種。返回值類型和返回值都沒有定義,下面的兩個例子是等價的:作用域

fn do_nothing_the_hard_way() -> () { return (); }

fn do_nothing_the_easy_way() { }

函數最後表達式有分號至關於返回(),例如:開發

fn line(a: int, b: int, x: int) -> int { a * x + b  }
fn oops(a: int, b: int, x: int) -> ()  { a * x + b; }

assert!(8 == line(5, 3, 1));
assert!(() == oops(5, 3, 1));

函數參數支持解構,例如:文檔

fn first((value, _): (int, f64)) -> int { value }
相關文章
相關標籤/搜索