Rust 控制流

控制流

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);
  }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift 提供了类似 C 语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行...
    穷人家的孩纸阅读 4,030评论 1 1
  • if 表达式 使用 else if 处理多重条件 在 let 语句中使用 if 使用循环重复执行 loop whi...
    村南一枝花阅读 2,885评论 0 1
  • Swift提供了多种控制流声明。包括while循环来多次执行一个任务;if,guard和switch声明来根据确定...
    BoomLee阅读 6,075评论 0 3
  • [The Swift Programming Language 中文版]本页包含内容: Swift提供了多种流程控...
    风林山火阅读 3,775评论 0 0
  • 就像太阳总是要西落下山;浮云总是要随风飘走;白天总是要落下夜幕一样,而我总是在告别,我向我最爱的宠物告别、我向我最...
    lotus_5247阅读 1,229评论 0 0

友情链接更多精彩内容