Rust系列(5)流程控制
  oS1xgoxjr0QZ 2023年11月02日 45 0

流程控制

Rust 的流程控制分为两类:

  • 条件判断(if)
  • 循环(for、loop、while)

主要涉及到四个语法:ifforloopwhile

if 条件判断

和大多数语言不同的是,Rust 的条件判断并不需要加上小括号 (),是可以省略的。

fn main() {
  let num = 10;
  if num > 8 {
    println!("num 大于 8");
  } else {
    println!("num 小于 8");
  }
}

如果写上括号,编译器会提示“warning: unnecessary parentheses around if condition”,也就是不必要的插入语。

同时,Rust 中也不存在强制类型转换,在写判断条件时,必须是准确的 true 或者 false:

let num = 10
if num > 10 {} // √

if num {} // 在 JS 中 10 会类型转换为 true

for 循环

for 循环是最常用的循环结构,常用来遍历一个线性数据据结构(比如数组)。

for 循环遍历数组:

fn main() {
    let a = [1, 2, 3, 4, 5];
    // a.iter() 代表 a 的迭代器(iterator)
    for i in a.iter() {
        println!("{}", i); // 1,2,3,4,5
    }
}

loop 循环

loop 用于创建无限循环,使用 break 关键字来跳出循环。

// 无限循环下去
loop {
    println!("旋转,跳跃,我不停歇!");
}


// 无限循环下去
loop {
    println!("旋转,跳跃,我不停歇!");
    // 跳累了,要歇会
    break;
}

break 关键字在结束循环时还可以返回一个值:

let mut count = 1;

let loop_count = loop {
    count += 1;
    if count > 100 {
        // 循环了 101 次,跳出循环,并返回一个结果
        break count;
    }
};

println!("一共循环了:{} 次", loop_count);
// 一共循环了:101 次

while 循环

while 循环是最典型的条件语句循环。 只要条件表达式保持为 true,就会一直循环下去

结束循环的调节就是将条件设为 false。

let mut count = 0
while count < 5 {
    println!("我们跳啊跳,跳啊条...");
    count += 1;
}
println!("结束循环");

小结

本文介绍了 Rust 中的流程控制语句,主要包括了:

  • if 条件判断
  • for 循环
  • loop 循环
  • while 循环

使用时要注意,if 条件表达式不存在类型转换;在做循环是根据需求选择合适的循环语句。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  oS1xgoxjr0QZ   2023年11月02日   42   0   0 数组Rust
  oS1xgoxjr0QZ   2023年11月02日   31   0   0 Rust
  dBFTbkVLMBge   2023年11月02日   29   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   39   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   24   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   41   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   48   0   0 Rust
oS1xgoxjr0QZ