本文介绍: 在Rust中, if语句的判断条件不需要用( )括起来, 它会认为所有在if和判断条件的表达式必须返回一个bool如果要进行多分支的条件判断,可以使用else if(注意else和if是分开的),最后也可以用else注意,if是一种表达式, 而不是语句。注意,在上面的例子中,每个判断分支的结尾没有;, 因为这是一个尾部表达式, 用于给if表达式返回一个值;我们也不能使用return关键字, 而只能使用尾部表达式,因为return只能用于函数定义的代码块中,给函数返回结果;
if 表达式
在Rust中, if语句的判断条件不需要用( )
括起来, 它会认为所有在if
和 {
之间的表达式就是判断条件,例如:
判断条件的表达式必须返回一个bool
型的值, 因为Rust是一个不喜欢进行强制类型转换的语言,绝大多数时候, Rust都不会对数据进行强制类型转换,也就是说,下面的例子是一个错误的范例:
如果要进行多分支的条件判断,可以使用else if
(注意 else
和if
是分开的),最后也可以用else
结尾, 例如:
注意, if
是一种表达式, 而不是语句。 语句不会返回值, 而表达式会返回值, 因此,上面的代码可以改写成这样:
注意,在上面的例子中,每个判断分支的结尾没有;
, 因为这是一个尾部表达式, 用于给if表达式返回一个值;我们也不能使用return
关键字, 而只能使用尾部表达式,因为return
只能用于函数定义的代码块中,给函数返回结果;另外,每个判断分支返回的值的数据类型必须相同, 否则Rust编译器无法确定变量msg
的数据类型; 在if表达式的最后有一个;
, 因为整体来看, 这是一个赋值语句, 把if表达式的返回值赋值给了变量msg
, 而Rust的语句应该以;
结尾。
三元表达式?
Rust中没有三元表达式的设计, 例如在C语言中, 三元表达式形如:
loop 循环
while 循环
for 循环
小结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。