如何在 main.rs 之外的另一个文件中使用模块
How to use module in another file besides main.rs
我的 src 文件夹中有 3 个文件:'main.rs'、'network.rs' 和 'nodes.rs'。我想在 network.rs 中使用我在 nodes.rs 中声明的函数。我似乎无法找到一种方法来做到这一点。我在网上只能找到访问 main.rs.
中函数的方法
main.rs:
mod network;
mod nodes;
fn main() {
network::run();
}
network.rs
pub fn run() {
newnode();
}
nodes.rs
pub fn newnode() {
println!("Test");
}
如果您不想使用完整路径调用函数,则需要在适当的模块中使用 use
显式引用它们。
network.rs
开头:use super::nodes::newnode;
.
要访问 nodes
模块,您需要导航回 main.rs
,然后下降到子模块。您可以通过使用 crate
关键字(因此 crate::nodes::newnode
)从 crate 的根目录(本例中的 main.rs
)开始,或者,因为 main.rs
是network
的父模块,通过 super
访问它:super::nodes::newnode
.
我的 src 文件夹中有 3 个文件:'main.rs'、'network.rs' 和 'nodes.rs'。我想在 network.rs 中使用我在 nodes.rs 中声明的函数。我似乎无法找到一种方法来做到这一点。我在网上只能找到访问 main.rs.
中函数的方法main.rs:
mod network;
mod nodes;
fn main() {
network::run();
}
network.rs
pub fn run() {
newnode();
}
nodes.rs
pub fn newnode() {
println!("Test");
}
如果您不想使用完整路径调用函数,则需要在适当的模块中使用 use
显式引用它们。
network.rs
开头:use super::nodes::newnode;
.
要访问 nodes
模块,您需要导航回 main.rs
,然后下降到子模块。您可以通过使用 crate
关键字(因此 crate::nodes::newnode
)从 crate 的根目录(本例中的 main.rs
)开始,或者,因为 main.rs
是network
的父模块,通过 super
访问它:super::nodes::newnode
.