fn main() {
func1();
func2(1, 2);
let sum = func3(2, 3);
println!("sum={}", sum)
}
fn func1() {
println!("无参无返回值");
}
fn func2(a: i32, b: i32) {
println!("有参无返回值 = {},{}", a, b);
}
fn func3(a: i32, b: i32) -> i32 {
println!("有参有返回值");
return a + b;
}
// ------------- 返回值的简约写法 ------------------
fn func4(a: i32, b: i32) -> i32 {
println!("有参有返回值-简约写法2.0");
let res = a + b;
return res;
}
fn func5(a: i32, b: i32) -> i32 {
println!("有参有返回值-简约写法3.0");
let res = a + b;
res
}
fn func6(a: i32, b: i32) -> i32 {
println!("有参有返回值-简约写法4.0");
a + b
}
小结:
- 不带分号是一个表达式,表达式可以计算,并有返回值
- 带分号是一个语句,语句不能计算,没有返回值
fn main() {
let x = 1; // 语句
let y = {
let x = 1; // 语句
x + 1 // 表达式,返回了 x+1 的值
}; // 语句
println!("x = {}",x);
println!("y = {}",y);
}