Rust的控制流

我爱海鲸 2024-01-26 12:47:20 rust学习

简介if else、循环

1、if表达式,没什么说的,show me your code

fn main() {
    let x = 2;
    if x < 5 {
        print!("condition is x < 5");
    } else if x == 5 {
        print!("condition is x == 5");
    } else {
         println!("condition is x > 5");
    }
}

因为if是一个表达式,所以我们可以把它放到等号的右边

fn main() {
   let condition = false;
   let number = if condition {1} else {2};
    print!("{}",number);
}

在rust中没有三元表达式

2、循环,rust提供了三种循环 loop、while、for

loop循环

loop关键字告诉rust要反复的执行一部分代码,直到你喊停

fn main() {
   loop {
       print!("again")
   }
}

你执行就会发现它停不下来,那我们怎么要他停下来勒,我们可以使用break关键字

fn main() {
    let mut number = 0;

   let result = loop {
    number += 1;
    print!("{}",number);
    if number == 10 {
        break number * 2;
    }
   };

   println!("This value is {}",result)
}

注意在rust中没有自增运算符(a++)

while循环

这种循环和其他语言的循环没多大区别

fn main() {
    let mut number = 10;

  while number != 5 {
      number -= 1;
  }

   println!("This value is {}",number)
}

for循环

我们可以使用while或者loop来遍历集合,但是容易出错而且效率比较低

fn main() {
    let a = [10,20,30,40,50];
    let mut index = 0;

    while index != 5 {
        println!("{}",a[index]);
        index += 1;
    }
}

然后我们再来使用for循环来试试

fn main() {
    let a = [10,20,30,40,50];
    for item in a.iter() {
        println!("{}",item)
    }

}

我们可以手动的生成一个集合来遍历

fn main() {
    for item in (1..4).rev() {
        println!("{}",item)
    }
}

(1...4)表示生成1到3的数,rev的方法表示将它反转,从3到1.

你好:我的2025

上一篇:Rust的函数与注释

下一篇:Rust的所有权