在Rust中,我注意到除了两种语句外,一切都是表达式。添加;
的每个表达式都将成为一个声明。 Rust的语法希望语句遵循其他语句。
那么为什么我们不在;
/ if
“表达式的末尾添加else
”?这也是一个表达,所以我们为什么不这样做:
if true {
println!("true");
} else {
println!("false");
};
答案 0 :(得分:0)
discussion中最常见的答案是,它看起来更像是来自其他语言的用户所期望的,并且允许该语法没有任何害处(因为结果类型为()
,感谢分支中的分号。)
答案 1 :(得分:0)
我猜是因为它是Java或Nginx-Conf等其他语言中的块表达式,所以只能在语句之后而不是在块之后设置分号。