开发环境
- Windows 10
- Rust 1.49
- VS Code
![]()
项目工程
这里继续沿用上次工程rust-demo。

目标
本次项目在上次猜随机数字的基础上,将猜到的数据进行匹配计算。本次项目中使用依赖如下:
[dependencies]
rand = "0.6.0"
Carog.toml文件内容如下:

编码
本次项目全部代码如下:
use std::io; // 引入IO库
use std::cmp::Ordering; // 引入排序比较库
use rand::Rng; // 引入Rand库
fn main() {
println!("Guess the number!");
let secret_number = rand::thread_rng().gen_range(1, 101); // 生成1 ~ 100之间的随机数
println!("The secret number is: {}", secret_number);
println!("Please input your guess.");
let mut guess = String::new();
io::stdin()
.read_line(&mut guess) // 读取输入的内容,并将其赋值给guess
.expect("Failed to read line");
let guess: u32 = guess.trim().parse().expect("Please type a number!"); // 将guess字符串转成u32整型
println!("You guessed: {}", guess);
match guess.cmp(&secret_number) { // 将猜到的数据和随机数比较
Ordering::Less => println!("Too small!"),
Ordering::Greater => println!("Too big!"),
Ordering::Equal => println!("You win!"),
}
}
运行
使用下述命令运行。
cargo run

如果没有编译错误,测试结果如下,
如果猜小了:

如果猜大了:

如果刚好猜中:

重点
- 比较库std::cmp::Ordering
- 字符串转整型guess.trim().parse()
本文介绍了一个使用Rust语言开发的简单猜数字游戏项目。该项目通过rand库生成1到100之间的随机数,玩家输入猜测的数字后,程序会根据输入与随机数的大小关系给出提示。
1万+

被折叠的 条评论
为什么被折叠?



