Rust学习(1)[rand]Rng::gen_range在0.8版本改动与生成随机数

目录

  • 唠嗑
  • rand
  • 生成随机数_rand 0.7.3
  • 生成随机数_rand 0.8.5
  • 总结

唠嗑

本人小白,就读高中,要是文章哪里写错了多谢大佬纠正0V0

昨晚跟着视频学习生成随机数时,查找了rand的最新版本,在Cargo.toml里面使用最新版本时gen_range()报错了,由于没开弹幕没看大佬们解释就自行查找了手册
小白用的是vscode

rand

Rust标准库里没有包含生成随机数的功能,但是Rust的团队提供了具有生成随机数的库叫 “rand”
rand官方网址
rand手册

##添加依赖
我用的是crates插件
打开Cargo.toml
在底下添加库和版本

rand 0.7.3

[dependencies]
rand = '0.7.3'	//添加依赖

rand 0.8.5

[dependencies]
rand = '0.8.5'	//添加依赖

生成随机数_rand 0.7.3

打开main.rs

use rand::Rng;
//调用 rand 下的 Rng 随机数生成器
//	:: 类似于借口
fn main(){println!("生成随机数");//生成随机数范围[1, 101),包含1,不包含101let int_number = rand::thread_rng().gen_range(1,101);println!("生成的1-100随机数是:{}", int_number);//生成随机数范围[0, 1)的 f32 小数let float_number = rand::thread_rng().gen::<f32>();println!("生成0-1的随机小数:{}", float_number);
}

在终端编译构建文件

cargo build
cargo run

终端输出

Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Running `target\debug\guessing_name.exe`
生成随机数
生成的随机数是:21
生成0-1的随机小数:0.15085894

生成随机数_rand 0.8.5

打开main.rs

use rand::Rng;
//调用 rand 下的 Rng 随机数生成器
//	:: 类似于借口
fn main(){println!("生成随机数");//生成随机数范围[1, 101),包含1,不包含101let int_number = rand::thread_rng().gen_range(1..101);println!("生成的1-100随机数是:{}", int_number);//生成随机数范围[1, 101),包含1,不包含101let int_number = rand::thread_rng().gen_range(1..=100);println!("生成的1-100随机数是:{}", int_number);//生成随机数范围[0, 1)的 f32 小数let float_number = rand::thread_rng().gen::<f32>();println!("生成0-1的随机小数:{}", float_number);
}

在终端编译构建文件

cargo build
cargo run

终端输出

Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Running `target\debug\guessing_name.exe`
生成随机数
生成的1-100随机数是:88
生成的1-100随机数是:19
生成0-1的随机小数:0.3602482

总结

rand 从 0.7版本到0.8版本修动了gen_range
用 gen_range(a…b) 替换了gen_range(a, b)

部分文本来源:https://rust-random.github.io/book/update-0.8.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部