Rust语言:逻辑判断

Rust语言:逻辑判断

首页冒险解谜代号冰原更新时间:2024-10-12

对于逻辑判断,所有语言都差不多,if, if-else, if-else if-else, while, for... 能满足需求。

if 类

fn main() { let number = 6; if number % 4 == 0 { println!("number is divisible by 4"); } else if number % 3 == 0 { println!("number is divisible by 3"); } else if number % 2 == 0 { println!("number is divisible by 2"); } else { println!("number is not divisible by 4, 3, or 2"); } }

但是Rust的条件语句除了能控制代码流程外,它还是一个表达式,而表达式可以有返回值的。这一点也是显著区别于其它语言的地方。

let number = if condition { 5 } else { 6 };

粗略地说,表达式可以产生值,语句不产生值。这就是为什么函数最后一行如果是返回值的话,不能加分号,因为加了分号就是一个语句,不加分号是一个表达式。由于表达式可以产生值,因此可以用在任何需要值的地方。

fn give_you_nothing() { 5; }

再深究就要说到Rust的模式匹配了。

循环类

loop是死循环,等同while true。

fn main() { loop { println!("again!"); } }

while是家常用法

fn main() { let mut number = 3; while number != 0 { println!("{}!", number); number -= 1; } println!("LIFTOFF!!!"); }

for遍历,只接受迭代器,与Python相似。只接受迭代器的好处就在不会索引越界(从而产生Panic)。

fn main() { for number in (1..4).rev() { println!("{}!", number); } println!("LIFTOFF!!!"); }

Rust的Panic也就是Rust程序的异常退出机制,类似C程序的段错误。C程序的段错误是因为程序访问了不该访问的资源,被操作系统直接*死的后果(连喊一嗓子的机会都没有),而Panic是Rust程序在检测到异常后主动退出的机制,它可以回溯堆栈,和Python类似,并可根据环境变量控制是否输出更详细的信息。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved