Rust语言学习

Rust 控制流

2020-03-18  本文已影响0人  kaiv2

控制流

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);
  }
}
上一篇下一篇

猜你喜欢

热点阅读