📅  最后修改于: 2023-12-03 15:37:41.187000             🧑  作者: Mango
在rust中,可以使用mod
关键字来构建模块和子模块,从而划分程序的不同功能和层次结构。在一个模块中,我们可以通过use
关键字将其他模块中的定义引入自己的作用域中,以便在该模块中使用这些定义。
我们可以使用use
关键字来引入其他模块,语法如下:
use path::{to, item};
use path::to::item;
use path::to::*;
如果我们要引入的模块在当前工程中,我们可以使用相对路径:
mod foo; // 导入foo模块
use self::foo::bar; // 导入foo模块中的bar项
如果要引入的模块不在当前工程中,我们可以使用绝对路径:
use crate::path::to::item; // 绝对路径
我们可以在模块中定义子模块,把相关的功能放到一个模块中,使代码更加清晰和易于管理:
mod foo {
mod bar {
fn baz() {
println!("Hello, world!");
}
}
}
use self::foo::bar::baz; // 导入baz函数
fn main() {
baz(); // 输出 "Hello, world!"
}
默认情况下,模块中的定义只能在其所属的文件中访问,如果我们要在其他文件中使用某个模块的定义,我们需要将其公开。
我们可以使用pub
关键字来公开模块中的定义:
mod foo {
pub fn bar() {
println!("Hello, world!");
}
}
use self::foo::bar;
fn main() {
bar(); // 输出 "Hello, world!"
}
use
关键字来引入其他模块中的定义。pub
关键字来公开模块中的定义。