我想将代码拆分为src的多个子目录。示例:
src
main.rs
sorting_algorithms
bubble.rs
bubble.rs包含函数bubble_sort
;如何将其导入main.rs?
答案 0 :(得分:2)
仅当您向其中添加mod.rs
文件时,Rust才会将src的子文件夹识别为模块。将其添加到sorting_algorithms文件夹:
src
main.rs
sorting_algorithms
bubble.rs
mod.rs
mod.rs文件可以公开此文件夹的子模块:
pub mod bubble;
假设函数bubble_sort
被声明为公共(pub fn bubble_sort(...)
),则可以从main.rs中使用它:
mod sorting_algorithms;
pub use sorting_algorithms::bubble::bubble_sort;
答案 1 :(得分:2)
必须将子文件夹声明为模块。您可以使用3种不同的方式来做到这一点:
内联:在sorting_algorithms
中声明main.rs
模块:
// In main.rs:
mod sorting_algorithms {
pub mod bubble;
}
我认为这是最简单的。
使用模块声明将sorting_algorithms.rs
放入src
文件夹中:
// In sorting_algorithms.rs:
pub mod bubble;
将具有上述内容的mod.rs
文件放入子文件夹。或多或少不推荐使用此方法。