函數(shù)遍布于 Rust 代碼中。你已經見過語言中最重要的函數(shù)之一:
main
函數(shù),它是很多程序的入口點商架。你也見過fn
關鍵字,它用來聲明新函數(shù)芥玉。
Rust 代碼中的函數(shù)和變量名使用snake case
規(guī)范風格蛇摸。在 snake case 中,所有字母都是小寫并使用下劃線
分隔單詞灿巧。
fn main() {
println!("Hello, world!");
another_function();
}
fn another_function() {
println!("Another function.");
}
函數(shù)參數(shù)
函數(shù)也可以被定義為擁有
參數(shù)(parameters)
赶袄,參數(shù)是特殊變量
,是函數(shù)簽名的一部分抠藕。當函數(shù)擁有參數(shù)(形參)
時饿肺,可以為這些參數(shù)提供具體的值(實參)
在函數(shù)簽名中,必須
聲明每個參數(shù)的類型盾似。這是 Rust 設計中一個經過慎重考慮的決定:要求在函數(shù)定義中提供類型注解敬辣,意味著編譯器不需要你在代碼的其他地方注明類型來指出你的意圖。
fn another_function(x: i32) {
println!("The value of x is: {}", x);
}
語句和表達式
語句(Statements)是執(zhí)行一些操作但不返回值的指令
表達式處理計算一些值颜说,并且返回該值
fn main() {
let x = 5;
let y = {
let x = 3;
x + 1
};
println!("The value of y is: {}", y);
}
result:
warning: unused variable: `x`
--> src/main.rs:2:9
|
2 | let x = 5;
| ^ help: consider using `_x` instead
|
= note: #[warn(unused_variables)] on by default
Finished dev [unoptimized + debuginfo] target(s) in 3.37s
Running `target/debug/rust_examples`
The value of y is: 4
具有返回值的函數(shù)
函數(shù)可以向調用它的代碼返回值购岗。我們并不對返回值命名,但要在箭頭
(->)
后聲明它的類型门粪。在 Rust 中喊积,函數(shù)的返回值等同于函數(shù)體最后一個表達式的值
。使用return 關鍵字和指定值玄妈,可從函數(shù)中提前返回
乾吻;但大部分函數(shù)隱式的返回最后的表達式髓梅。