初面网初面网

控制流

  • 判断
let a = 59;
if a < 60 {
  print!("不及格!");
} else if a > 90{
  print!("优秀!");
} else {
  print!("良!");
}
  • 循环

while和loop

let mut a = 5;
while a > 0 {
  println!("while循环");
  a = a - 1;
}
let mut a = 5;
loop {
  a = a - 1;
  println!("loop循环");
  if a == 0{
    break;
  }
}

let b = loop {
  a = a - 1;
  println!("loop循环");
  if a == 0{
    break a;  // break语句可以返回一个值.break a
  }
};
println!("{}", b); // 0

如果已知范围,使用for循环更加高效

let a = [1,2,3,4,5];

for ele in a{
  println!("{}", ele);
}

println!("===============");
// 下面这句也是创建了一个范围。注意,范围是左包又不包,所以右侧的值得是n+1
for ele in (1 .. 6){
  println!("{}", ele);
}

与其他语言不同的是,rust里的if和loop语句是表达式,这也就意味着它们是可以返回值的。

let a = 5;
let b = if a > 0{
  a
} else {
  0
};
println!("{}", b); // 5

for循环

let a = [1,2,3,4,5];
for ele in a{
  println!("{}", ele);
}

// 也可以不声明变量
for i in 0..10{
  println!("{}", i);
}

for k in 0..=5{
  println!("{}", k);
}

// 带等于号的包含右边界,不带的不包含右边界。它们的步进都是1。

更新于 2026/6/10