函数定义
无返回值函数定义:
fn <func_name> (<params>) {
<body>
}
有返回值函数定义(多了-> )
fn <func_name> (<params>) -> <type> {
<body>
}
实例1
注:此处被掉函数不需要提前声明,与调用函数的前后无关
fn main() {
println!("func main");
print_test();
}
fn print_test() {
println!("func test");
}
输出结果:
func main
func test
实例2
fn add(a: u32, b: u32) -> u32 {
a + b
}
fn main() {
println!("func main");
let c = add(3, 4);
println!("add is {}", c);
}
输出结果:
func main
add is 7
函数体语句与表达式
语句:执行某些操作,且没有返回值的步骤;
如:let x = 1;
表达式:有计算步骤和返回值,如:
x = 1
y + 1
a + b
Rust 中可以在一个用 {} 包括的块里编写一个较为复杂的表达式:
fn main() {
let x = 5;
let y = {
let x = 3;
x + 1 ///注意此处没有分号,如果有分号就变成语句了
};
println!("x 的值为 : {}", x);
println!("y 的值为 : {}", y);
}
结果:
x 的值为 : 5
y 的值为 : 4