1. 程式人生 > >rust學習筆記基礎篇6–函式與函式指標(霜之小刀)

rust學習筆記基礎篇6–函式與函式指標(霜之小刀)

rust學習筆記基礎篇6–函式與函式指標(霜之小刀)

歡迎轉載和引用,若有問題請聯絡
若有疑問,請聯絡
Email : [email protected]
QQ:2279557541


直接看函式的使用示例
//無返回值無引數的函式

fn func(){
    println!("func1");
}
//有返回值,有引數的函式
fn func_add(src:i32, add_num:i32) -> i32{
    return src+add_num;
}
//一種"詭異"的函式寫法,
//這是因為rust是一種基於表示式的語言,函式中最後一個表示式的值預設作為函式返回值
fn func_add_one(src:i32) -> i32{ src+1 } fn main() { func(); let mut x = 15; x = func_add(x, 10); println!("{}", x); x = func_add_one(x); println!("{}", x); }

函式的宣告中,引數的型別是必須要寫的,如果沒有返回值的話,返回值的型別到時可以不寫。
以為函式就說完了麼?並沒有,還有很重要也很有用的函式指標!

//有返回值,有引數的函式
fn func_add(src:i32, add_num:i32
) -> i32{ return src+add_num; } fn main() { let func = func_add; //上面的程式碼如果要把型別寫全的話應該是這樣的 let funcc:fn(i32,i32)->i32 = func_add; let res = func(2,3); println!("{}", res); }

同其他語言中的函式指標一樣,使用函式指標就想使用原函式一樣,只不過函式指標本身可以當成是一個變數。