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)将作为函数的返回值。

posted @ 2022-01-22 17:59  鱼又悲  阅读(267)  评论(0编辑  收藏  举报