MST

星途 面试题库

面试题:Rust 中 loop 循环如何有条件跳出并返回值

在Rust中,假设你有一个 loop 循环,在每次循环中会生成一个随机数(可使用 rand 库),当生成的随机数大于50时跳出循环,并返回这个随机数。请编写相应代码实现此功能。
22.8万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use rand::Rng;

fn main() {
    let mut rng = rand::thread_rng();
    let result = loop {
        let num = rng.gen_range(0..100);
        if num > 50 {
            break num;
        }
    };
    println!("随机数: {}", result);
}
  1. 首先引入rand库中的Rng trait,这是生成随机数所必需的。
  2. main函数中,创建一个随机数生成器rng
  3. 使用loop循环不断生成随机数,rng.gen_range(0..100)会生成一个0(包括)到100(不包括)之间的随机数。
  4. 当生成的随机数大于50时,使用break跳出循环并返回这个随机数,最后打印结果。

需要注意的是,要在Cargo.toml文件中添加rand依赖:

[dependencies]
rand = "0.8.5"

这样才能正常使用rand库的功能。