函数遍布于 Rust 代码中。你已经见过语言中最重要的函数之一:
main
函数,它是很多程序的入口点。你也见过fn
关键字,它用来声明新函数。
Rust 代码中的函数和变量名使用snake case
规范风格。在 snake case 中,所有字母都是小写并使用下划线
分隔单词。
fn main() {
println!("Hello, world!");
another_function();
}
fn another_function() {
println!("Another function.");
}
函数参数
函数也可以被定义为拥有
参数(parameters)
,参数是特殊变量
,是函数签名的一部分。当函数拥有参数(形参)
时,可以为这些参数提供具体的值(实参)
在函数签名中,必须
声明每个参数的类型。这是 Rust 设计中一个经过慎重考虑的决定:要求在函数定义中提供类型注解,意味着编译器不需要你在代码的其他地方注明类型来指出你的意图。
fn another_function(x: i32) {
println!("The value of x is: {}", x);
}
语句和表达式
语句(Statements)是执行一些操作但不返回值的指令
表达式处理计算一些值,并且返回该值
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
具有返回值的函数
函数可以向调用它的代码返回值。我们并不对返回值命名,但要在箭头
(->)
后声明它的类型。在 Rust 中,函数的返回值等同于函数体最后一个表达式的值
。使用return 关键字和指定值,可从函数中提前返回
;但大部分函数隐式的返回最后的表达式。