如何在同一个Rust项目中从另一个文件导入模块?
大家好!我刚开始学习Rust,遇到了代码组织的问题。我的项目增长很快,我想把它拆分成多个文件,但不知道如何正确地从另一个文件导入函数和结构体。
这是我当前的结构。我有 `main.rs`,并在同一 `src/` 文件夹中创建了 `math_utils.rs` 文件。在 `math_utils.rs` 中,我定义了一个简单的函数:
```rust
// math_utils.rs
fn add(x: i32, y: i32) -> i32 {
x + y
}
```
而在 `main.rs` 中,我尝试调用它:
```rust
// main.rs
fn main() {
let result = add(5, 3); // 错误:在此作用域中找不到函数 `add`
println!("Result: {}", result);
}
```
我尝试在 `main.rs` 开头添加 `mod math_utils;`,但没有帮助。编译器报错说找不到模块 `math_utils`,尽管文件就在旁边。我还阅读了关于 `use` 关键字的内容,但仍然无法让代码工作。
请告诉我如何正确地在Rust中组织模块。