猜数字游戏(2)

Rust创建猜数字游戏

1.构建项目

bash 复制代码
cargo new guessing_game
cd guessing_game

1.测试项目运行

bash 复制代码
cargo run

2.处理一次猜想

rust 复制代码
// io输入/输出库,io库来自于标准库
use rand::Rng;
use std::cmp::Ordering;
use std::io;



fn main() {
    //println!("Guess the number!");

    //rand::thead_rng函数用来提供特定随机数生成器,gen_range方法调用随机数生成器,区间格式采用的是start..end
    //let secret_number = rand::thread_rng().gen_range(1..101);
    //println!("The secret number is: {}",secret_number);

    //println!("Please input your guess.");
    /*
        let apple = 5; // 不可变
        let mut apple = 5;// 可变
        变量默认是不可变的,想要变量可变,可以在变量名强添加mut

        ::语法表明new是string类型的一个关联函数

        关联函数是实现一种特定类型的函数
    
    */
    //let mut guess = String::new();
    /*
        程序开头没使用 use std::io引入io库,也可以通过std::io::stdin来调用函数
        read_line()方法,标准输入句柄中获取用户输入
        &表示这个参数是一个引用,让代码的多个部分可以访问同一个数据,而无需再内存中多次拷贝 
    */
    //io::stdin()
    //.read_line(&mut guess)
    //使用Result类型来处理潜在的错误
    //.expect("Failed to read line");
    //println!("You guessed: {}",guess);

    println!("Guess the number");

    let secret_number = rand::thread_rng().gen_range(1..100);
    loop{
        println!("Please input your  guess!");

        let mut guess = String::new();
        
        io::stdin()
        .read_line(&mut guess)
        .expect("Failed to read line");

        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => continue,
        };
        println!("You guessed:{}",guess);
        match guess.cmp(&secret_number){
            Ordering::Less => println!("Too small"),
            Ordering::Greater => println!("Too big"),
            Ordering::Equal => {
                println!("you win");
                break;
            }
        }
    }
    
}
相关推荐
iOS开发上架哦几秒前
APP应用上架完整指南:从准备资料到上架流程详解
后端
凌览34 分钟前
一键去水印|5 款免费小红书解析工具推荐
前端·javascript·后端
枫叶梨花36 分钟前
一次 Kettle 中文乱码写入失败的完整排查实录
数据库·后端
expect7g36 分钟前
Paimon源码解读 -- PartialUpdateMerge
大数据·后端·flink
申阳41 分钟前
Day 16:02. 基于 Tauri 2.0 开发后台管理系统-项目初始化配置
前端·后端·程序员
bcbnb42 分钟前
游戏上架 App Store 的完整发行流程,从构建、合规到审核的多角色协同指南
后端
JavaGuide43 分钟前
美团2026届后端一二面(附详细参考答案)
java·后端
aiopencode43 分钟前
无需源码的 iOS 加固方案 面向外包项目与存量应用的多层安全体系
后端
语落心生1 小时前
Apache Geaflow推理框架Geaflow-infer 解析系列(六)共享内存架构
后端
语落心生1 小时前
Apache Geaflow推理框架Geaflow-infer 解析系列(七)数据读写流程
后端