Rust包管理
rust
使用module
的概念来管理软件。如一个mod
最直接的形式,调用者和mod
在同一个文件。
mod grandfather {
pub mod father {
pub fn son() {
println!("son");
}
}
}
fn main () {
grandfather::father::son();
}
每一级都需要pub
说明,前一级的pub
不能覆盖子一层也为pub
。为了进一步的简化,可以使用use
进行重导出
fn main() {
use grandfather::father::son;
son();
}
当然模块一般不和调用者一个文件,可以直接写成一个独立的文件如:
//src/test.rs
//src/main.rs
mod test;
fn main() {
test::grandfather::father::son();
}
如果这里工程本身就是一个crate
,我们可以使用pub use
进行向外导出。
mod test;
pub use test::grandfather::father::son;
fn main() {
son();
}
或者直接
pub mod test;
对于使用标准库和外部库的情况。我们可以直接用
use rand::Rng;
//或者
use crate::rand::Rang;