我想将我的代码拆分到 src 的多个子目录中。例子:
src
main.rs
sorting_algorithms
bubble.rs
Run Code Online (Sandbox Code Playgroud)
bubble.rs 包含一个函数bubble_sort;我如何将其导入 main.rs?
ika*_*men 10
mod.rs仅当您向其中添加文件时,Rust 才会将 src 的子文件夹识别为模块。将其添加到 sorting_algorithms 文件夹中:
src
main.rs
sorting_algorithms
bubble.rs
mod.rs
Run Code Online (Sandbox Code Playgroud)
mod.rs 文件可以公开此文件夹的子模块:
pub mod bubble;
Run Code Online (Sandbox Code Playgroud)
假设该函数bubble_sort被声明为 public ( pub fn bubble_sort(...)),您将能够从 main.rs 使用它:
mod sorting_algorithms;
pub use sorting_algorithms::bubble::bubble_sort;
Run Code Online (Sandbox Code Playgroud)
Fre*_*ios 10
子文件夹必须声明为模块。您可以使用 3 种不同的方式做到这一点:
内联:sorting_algorithms在您的内部声明模块main.rs:
// In main.rs:
mod sorting_algorithms {
pub mod bubble;
}
Run Code Online (Sandbox Code Playgroud)
这是我认为最简单的。
将 asorting_algorithms.rs放入src文件夹中,并带有模块声明:
// In sorting_algorithms.rs:
pub mod bubble;
Run Code Online (Sandbox Code Playgroud)将mod.rs包含上述内容的文件放入子文件夹。这或多或少已被弃用。
| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |