为什么不在 if/else 末尾添加分号 (;)?

use*_*121 5 syntax expression if-statement rust

在 Rust 中,我注意到除了两种语句之外,一切都是表达式。添加的每个表达式都;将成为一个语句。Rust 的语法希望语句遵循其他语句。

那么为什么我们不在/ “表达式”;的末尾添加呢?这也是一个表达式,那么我们为什么不这样做:ifelse

if true {
    println!("true");
} else {
    println!("false");
};
Run Code Online (Sandbox Code Playgroud)

Kor*_*nel 1

讨论中最常见的答案是,它看起来更像来自其他语言的用户所期望的,并且允许该语法没有什么坏处(因为结果类型归功于()分支中的分号)。