本文在紧接上次Rust之Cargo(1)-猜猜看,改进和添加部分代码,继续Rust学习之旅。
开发环境
- Windows 10
- Rust 1.48
- VS Code
项目工程
这里继续沿用上次工程rust-demo。
目标
本次想实现随机猜数字的功能。
- 首先添加库依赖,打开Cargo.tom文件,添加依赖。
[dependencies]
rand = "^0.5.5"
Cargo.tom文件
- 咱不改变代码的情况下,使用下述命令编译源码
cargo build
编译中
注意
如果这里编译很慢的话,需要添加国内的Rust资源。具体参考下述操作,
在目录$HOME/.cargo/添加config文件,其内容如下:
[source.crates-io] registry = "https://github.com/rust-lang/crates.io-index" # 上海交大资源 replace-with = 'sjtu' # 上海交通大学 [source.sjtu] registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
编码
依赖库准备好之后,添加代码如下
use std::io; // 引入IO库
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");
println!("You guessed: {}", guess);
}
运行
使用下述命令运行。
cargo run
上述就是添加了随机生成功能的运行效果。
知识点
- 如果在cargo build时出现下述提示。
Blocking waiting for file lock on package cache
解决方案:
cd $HOME/user/.cargo/
删除.package_cache文件
重新打开vs code
运行cargo build
- 如果想升级依赖库,可以修改依赖版本号,然后运行cargo build