Rust(3) - function 初介紹

介紹 Rust ownership 前先稍微介紹一下簡單的 function 寫法,加入 ownership 後會複雜一點點。

1. function:

宣吿一個 function 接收 u32 型別的參數然後印出來。

fn main() {
    let x: u32 = 10;
    foo(x);
}

fn foo(x: u32) {
    println!("{}", x);
}

2. 回傳計算結果:

在 Rust 中 function 是一種 expression,要回傳的值結尾不用 ";"

-> 用來宣告回傳參數之型別。

fn main() {
    let a: f32 = 1.0;
    let b: f32 = 2.7;
    let c = sum(a, b);
    println!("c: {}", c);
}

fn sum(a: f32, b: f32) -> f32 {
    a + b // 沒有";"
}

3. 回傳 tuple:

要回傳多個值的時候可以回傳 tuple,下面 half_and_double 回傳一個 (u32, u32) 的 tuple。

fn main() {
    let a: u32 = 30;
    let res = half_and_double(a);
    println!("{}, {}", res.0, res.1);
}

fn half_and_double(a: u32) -> (u32, u32) {
    (a/2, a*2)
}

留言

熱門文章