Rust中的函数
Rust中使用 fn 关键字定义函数,例如:
fn main() {
hello_world();
}
fn hello_world() {
println!("hello,world!");
}
其中第5~7行定义了函数 hello_world,main函数中(第2行)调用了函数 hello_world。
函数的参数
函数可以带参数,例如:
fn main() {
f1(5); // 输出 x = 5
f2(3, 6); // 输出 max value = 6
}
fn f1(x: i32) {
println!("x = {}", x);
}
fn f2(x: i32, y: i32) {
if x > y {
println!("max value = {}", x);
} else {
println!("max value = {}", y);
}
}
函数的返回值
使用箭头符号(->
)以及紧跟其后的类型来制定函数的返回值,例如,下面的 max 函数会返回两个参数之间的较大值:
fn main() {
println!("max value = {}", max(5, 8)); // 输出 max value = 8
}
fn max(x: i32, y: i32) -> i32 {
if x > y {
return x;
} else {
return y;
}
}
你可以使用 return 关键字并指定一个值来提前从函数中返回,但大多数的函数都隐式地返回了最后的一个表达式,比如:
fn plus_one(x: i32) -> i32 {
x + 1
}
fn main() {
let x = 5;
let x = plus_one(x);
println!("x = {}", x); // 输出 x = 6
}
函数 plus_one 中最后一个表达式的结果(即 x+1
)将作为函数的返回值。