Rust 控制流

作者: kaiv2 | 来源:发表于2020-03-18 15:51 被阅读0次

    控制流

    if 表达式

    fn main() {
      let num = 3;
      if num > 5 {
        println!(" num > 5");
      } else {
        println!("{}", num);
      }
    }
    

    if 后面提供一个表达式,期望值为(true|false),根据条件执行不同的代码分支。

    else if 处理多重条件

    fn main() {
      let num = 6;
      if num % 4 == 0 {
        pritnln!("num % 4 == 0%");
      } else if num % 3 == 0 {
        pritnln!("num % 3 == 0%");
      } else {
        println!("{}", num);
      }
    }
    

    let 语句中使用 if

    因为 if 是一个表达式,我们可以在let语句右侧使用它。

    fn main() {
      let c = true;
      let num = if c {
        1
      } else {
        0
      };
    }
    

    ifelse分支的类型必须一致。

    fn main() {
      let c = true;
      // 无法编译通过
      let x = if c {
        210
      } else {
        "abc"
      };
    }
    

    循环

    loop 重复执行代码

    fn main() {
      loop {
        println!("again!"); // 无限输出 again!
      }
    }
    

    重循环返回

    fn main() {
      let mut c = 10;
      let result = loop {
        c += 1;
        if c == 10 {
          break c * 2
        }
      };
      assert_eq!(result, 20);
    }
    

    使用 break 可停止循环,后面跟上表达式可返回结果。

    while 条件循环

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

    使用 while这种结构, 消除了很多使用 loop, if, elsebreak时必须的嵌套,这样更加清晰,当条件为真就执行,否则推出循环。

    for 变量集合

    for循环常用来遍历集合。

    fn main() {
      let arr = [1, 2, 3, 4, 5];
      for it in arr.iter() {
        println!("{}", it);
      }
    }
    

    相关文章

      网友评论

        本文标题:Rust 控制流

        本文链接:https://www.haomeiwen.com/subject/moeqyhtx.html