rust入门案例-猜数字游戏

rust 入门案例 猜数字游戏

最近,新学习了一门编程语言,叫做 rust

先不管语法,语义,规范...

安装完毕开发环境以后,先整上 入门案例 猜数字游戏。

一、看看整体的效果

第01节 案例代码

案例代码

复制的代码

rust 复制代码
// 需要导入三个包 1、标准输入 2、随机数  3、数学比较
use std::io;
use std::cmp::Ordering;
use rand::Rng;

fn main(){
    // 产生随机数
    let secret_number = rand::rng().random_range(1..=100);
    // 标题
    println!("欢迎来到猜数字游戏 {secret_number}");
    // 循环操作
    loop{
        // 输入提示
        println!("请输入 您心中理想的数字: ");
        let mut input_number = String::new();
        io::stdin().read_line(&mut input_number).expect("您输入的数据有误!");
        // 转换数据类型
        let input_number :u32 = match input_number.trim().parse(){
            Ok(input_number) => input_number,
            Err(_) => continue,
        };
        // 比较数据
        match secret_number.cmp(&input_number) {
            Ordering::Less => println!("太大了"),
            Ordering::Greater => println!("太小了"),
            Ordering::Equal => {
                println!("恭喜你, 猜对了");
                break;
            },
        };
    }
}

第02节 运行的效果

两个命令操作

复制代码
// 编译的命令
cargo   build

// 运行的命令
cargo   run

查看运行的效果

第03节 非标准包需要导入

在导入的三个包当中,随机数 是属于非标准的包,需要在 toml 文件中,添加。

其中 toml 文件内容如下:

tomal 复制代码
[package]
name = "gussesNumber"
version = "0.1.0"
edition = "2024"

[dependencies]
rand = "0.9.0"

截图内容

第04节 FAQ

这里主要是第一个入门级案例,没有介绍什么是 toml 文件,以及编译的环境等。

主要是记录一下,基础的运行效果,和 快速入门案例。

如果感觉学习难度较大,可以分步骤拆解练习咯

二、拆解练习

第01节 输入数据

代码

rust 复制代码
// 输入数据
use std::io; 

fn main(){
 
    // 输入提示
    println!("请输入 您心中理想的数字: ");

    // 创建字符串
    let mut input_number = String::new();

    // 输入数据
    io::stdin().read_line(&mut input_number).expect("您输入的数据有误!");

    // 输出结果
    println!("您输入的数据是 {input_number}");
}

第02节 类型转换

代码

rust 复制代码
fn main(){
 
    let number1 = 14;
    let number2 = "15";
    // 转换数据类型
    let number2 :u32 = match number2.trim().parse(){
        Ok(number2) => number2,
        Err(_) => 0,
    };
    // 计算加法
    let sum = number1 + number2;

    // 输出结果
    println!("结果是 {sum}");
}

第03节 产生随机数

代码

rust 复制代码
// 需要导入随机数
use rand::Rng;

fn main(){
    // 产生随机数
    let secret_number = rand::rng().random_range(1..=100);
    // 输出结果
    println!("产生的随机数是 {secret_number}");
}

第04节 比较两个数

代码

rust 复制代码
// 需要导入数学比较
use std::cmp::Ordering;

fn main(){

    let number1 = 14;
    let number2 = 16;

    // 比较数据
    match number1.cmp(&number2) {
        Ordering::Less => println!("太大了"),
        Ordering::Greater => println!("太小了"),
        Ordering::Equal =>  println!("相同"),
    };
}
相关推荐
Leonardo_Fibonacci2 小时前
skbbs-day5
java·开发语言·mybatis
徐安安ye2 小时前
Flutter 与 Rust 混合开发:打造毫秒级响应的高性能计算引擎
开发语言·flutter·rust
kylezhao20192 小时前
C#上位机从入门到精通(场景化实战教程)学习内容简介
开发语言·c#
草莓熊Lotso2 小时前
C++ 智能指针完全指南:原理、用法与避坑实战(从 RAII 到循环引用)
android·java·开发语言·c++·人工智能·经验分享·qt
bbq粉刷匠2 小时前
Java基础语法问答
java·开发语言·python
龙智DevSecOps解决方案2 小时前
汽车网络安全开发语言选型指南:C/C++/Rust/Java等主流语言对比+Perforce QAC/Klocwork工具支持
开发语言·autosar·嵌入式开发·perforce·代码安全·汽车网络安全
Eiceblue3 小时前
将 Python 列表导出为 Excel 文件:一维、二维、字典列表
开发语言·python·excel·visual studio code
代码or搬砖10 小时前
String字符串
android·java·开发语言