小编Cha*_*lie的帖子

为什么编译器要求我在此处添加 return 语句?

我正在尝试进行沙沙声课程,但我不明白以下代码出现的错误:

pub fn bigger(a: i32, b: i32) -> i32 {
    if a > b {
        a
    }
    b
}
Run Code Online (Sandbox Code Playgroud)

错误:

pub fn bigger(a: i32, b: i32) -> i32 {
    if a > b {
        a
    }
    b
}
Run Code Online (Sandbox Code Playgroud)

如果我添加返回值,它确实有效,但上面的方法不应该也有效吗?如果我使用 if-else 也可以:

pub fn bigger(a: i32, b: i32) -> i32 {
    if a > b {
        a
    } else {
        b
    }
}
Run Code Online (Sandbox Code Playgroud)

rust

7
推荐指数
1
解决办法
433
查看次数

标签 统计

rust ×1