fn 函数
fn main() {
}//这是一个主函数,是程序的入口
fn print_number (x: i32) {
println!("x is :{}",x);
}//这是一个带有输入变量的无返回值的函数
fn print_sum (x:i32, y :i32) {
println!("sum is {}",x + y); // 这是一个带有两个输入值无返回的函数
}
fn print_sum (x, y) {
println!("sum is {}",x + y); // 这是一个错误,函数的输入值类型必须明确,不能是推导类型
}
fn add_one (x:i32, y :i32) -> i32 {
x + y // rust函数大多数情况下不需要return返回值,最后一行不含;的结果会被当做return返回
}
fn add_one (x:i32, y :i32) -> i32 {
x + y; // 这是一个错误,返回值不可以以;结尾。编译器会认为这一行返回的类型是`()`匿名函数类型,而不是i32类型
// 还记得么,在变量中,我们也遇到过`()`类型
}
fn foo(x:i32) -> i32{
if x < 5 {return x};
return x + 1;
}//rust也是可以使用return来返回值,但不推荐使用这种可能会返回不明确类型的用法。
/// 上面的`foo`函数可以改写成下面的简单方式
fn foo(x:i32) -> i32{
if x < 5 {
x
} else {
x + 1
}
}