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