如何在同一个Rust项目中从另一个文件导入模块?
我刚开始学习Rust,正在尝试理解模块系统。我有一个通过 `cargo new my_project` 创建的简单项目。其中有标准的 `src/main.rs`,我把主要逻辑放在里面。但代码变得太大,我想把一些函数放到单独的文件中。
我创建了 `src/math.rs` 文件,其中有一个简单函数:
```rust
// src/math.rs
fn add(x: i32, y: i32) -> i32 {
x + y
}
```
现在我想在 `src/main.rs` 中使用这个函数。我尝试写了 `mod math;` 然后调用 `math::add(2, 3)`,但编译器报错:`error[E0603]: function `add` is private`。我还尝试了不同的 `use` 写法,但都不起作用。
我读过文档,但觉得很难理解。请解释一下如何正确地在多个文件中组织代码?我哪里做错了?需要在 `Cargo.toml` 中修改什么吗?如何让函数对其他模块可见?以及如果我有大量文件,应该如何正确构建项目结构?