Rust-猜数字游戏

Rust-猜数字游戏

快速上手 Rust!

实现一个经典的新手编程问题:猜猜看游戏。

本项目通过动手实践,向你介绍了 Rust 新概念:letmatch、函数、使用外部 crate 等等,接下来的几章,你会继续深入学习这些概念。

编译&运行命令

cargo build
cargo run

代码笔记:

use std::io;
use rand::Rng;
use std::cmp::Ordering;

fn main() {
    println!("猜数字游戏!");

    let secret_number = rand::thread_rng().gen_range(1..=100);

    loop {
        println!("请输入你的猜测: ");

        let mut guess = String::new();

        io::stdin()
            .read_line(&mut guess)
            .expect("读取输入失败!");

        let guess: u32 = match guess.trim().parse()
                            // .expect("数字类型转换失败!");
                            {
                                Ok(num) => {
                                    if num == 0 {
                                        println!("检测到输入为0,游戏结束!");
                                        break;
                                    }
                                    else {
                                        num
                                    }
                                },
                                Err(_) => continue,
                            };

        println!("你猜的数字是: {}", guess);

        match guess.cmp(&secret_number) {
            Ordering::Less => println!("太小了!"),
            Ordering::Greater => println!("太大了!"),
            Ordering::Equal => {
                println!("你猜对了!");
                break;
            }
        }
    }
}
posted @ 2024-10-09 00:30  GaryYouth  阅读(35)  评论(0)    收藏  举报