在Rust中,我注意到除了两种语句之外,所有东西都是表达式。每个在末尾添加
那么为什么不在
;
的表达式都会变成语句。Rust的语法要求语句跟随其他语句。那么为什么不在
if
/ else
“表达式” 的末尾添加 ;
呢?这也是一个表达式,所以为什么我们不这样做:if true {
println!("true");
} else {
println!("false");
};
;
,当我在一行上使用if
/else
作为三元语句时,我已经这样做了。 - Shepmasterif
、while
或match
表达式是语句的 "根" 表达式,那么分号可以省略。 - Francis Gagné