【发布时间】:2020-08-25 08:51:11
【问题描述】:
Rust 特征何时/为什么需要 used/Imported,或者为什么这个问题没有意义?
我是一位经验丰富的程序员,但我是 Rust 新手。
我正在通过The Rust Programming Language 工作——在chapter 2 中有以下声明。
首先,我们添加一个
use行:use rand::Rng。Rngtrait 定义了随机数生成器实现的方法,这个 trait 必须在我们使用这些方法的范围内。第 10 章将详细介绍特征。
强调我的。
我不清楚为什么这个程序
use std::io;
use rand::Rng;
fn main() {
println!("Guess the number!");
let secret_number = rand::thread_rng().gen_range(1, 101);
println!("The secret number is: {}", secret_number);
println!("Please input your guess.");
let mut guess = String::new();
io::stdin()
.read_line(&mut guess)
.expect("Failed to read line");
println!("You guessed: {}", guess);
}
需要use rand::Rng。当我们 use/imported std::io 符号时,我们可以访问 io 符号,我们可以在其上调用相关函数。
io::stdin
在我幼稚(且不正确)的观点中,使用use rand::Rng 会给我们一个Rng 符号。相反,我们得到了一个 rand 符号,我们可以在该符号上调用 thread_rng 方法。
let secret_number = rand::thread_rng().gen_range(1, 101);
我的幼稚观点是,为了调用 thread_rng,我们需要做类似的事情
use rand;
// or
use rand::rand
作为程序员,当我将use rand::Rng 放入我的程序时,我在做什么,为什么这与use std::io 不同?
【问题讨论】:
标签: module rust package rust-cargo