视频参考bilibili:https://www.bilibili.com/video/BV1hp4y1k7SV?p=6&vd_source=0299ee6ffe3815178fa7786dd32402d1
Cargo.toml文件(类似java的maven pom.xml文件,用于管理依赖版本的)内容:
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rand = "0.8.5"
main.rs的文件内容:
use rand::Rng;
use std::cmp::Ordering;
use std::io;
fn main() {
println!("猜数字游戏开始");
// rand = "0.8.5" 版本的gen_range要传递low..high或low..=high这种方式
// 生成一个1到100的随机数
let secret_number = rand::thread_rng().gen_range(1..101);
loop {
println!("请猜测一个数字");
// mut 修饰变量表示变量的值可变
let mut guess = String::new();
// 从控制台读取一个数字
io::stdin().read_line(&mut guess).expect("无法读取");
let guess:u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => {
println!("输入的不是数字,重新输入");
continue;
},
};
println!("你猜测的数字是:{}",guess);
match guess.cmp(&secret_number) {
Ordering::Less => println!("你输入的太小了"),
Ordering::Greater => println!("你输入的太大了"),
Ordering::Equal => {
println!("你赢了,猜对了,神秘数字就是:{}",guess);
break;
}
}
}
}
程序运行效果:
