rust學習筆記基礎篇6–函式與函式指標(霜之小刀)
阿新 • • 發佈:2018-11-17
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);
}
同其他語言中的函式指標一樣,使用函式指標就想使用原函式一樣,只不過函式指標本身可以當成是一個變數。