1. 格式
Rust 代码中函数定义的基本语法格式如下:
代码语言:javascript复制fn <function>(<parameters>) {
// 函数体
...
}
其中,fn
为函数声明关键字,<function>
为函数名,<parameters>
为参数列表,{}
用于指定函数体的开始和结束。和大多数编程语言一样,Rust 中 main
函数也是程序的入口点。
2. 参数
Rust 函数可以定义输入参数列表 <parameters>
。在 <parameters>
中,必须声明每个参数的类型,多个参数用 ,
分隔。
fn example(x: i32, y: i32) {
println!("The value of x is: {}", x);
println!("The value of y is: {}", y);
}
3. 函数体
函数体由一系列的语句和一个可选的结尾表达式构成。
- 语句(Statements)是执行一些操作但不返回值的指令。
- 表达式(Expressions)计算并产生一个值。
在 Rust 中,语句的结尾有分号,表达式的结尾没有分号。如果在表达式的结尾加上分号,它就变成了语句,而语句不会返回值。
代码语言:javascript复制fn example() {
let x = 5;
let y = {
let x = 3; // 语句,不会返回值
x 1 // 表达式,会返回值
};
// 因此 y 的值为 4
println!("The value of y is: {}", y);
}
4. 返回值
同其他语言一样,Rust 函数可以向调用它的代码返回值。Rust 中并不对返回值命名,但需要在箭头 ->
后声明它的类型。
- 在 Rust 函数中,函数的返回值等同于函数最后一个表达式的值。
- 使用
return
关键字和指定值,可以在函数中提前返回。
fn example() -> i32 {
5
}