如何在 Rust 中创建一个同时包含库 (lib) 和可执行文件 (bin) 的包?
大家好!我刚开始学习 Rust,正在尝试理解项目组织。我有一个任务:我想编写一个处理 CSV 文件的小工具。但同时,我希望主要逻辑(解析、过滤)能够作为库在其他项目中复用。
目前我的项目结构如下:
```
my_project/
├── Cargo.toml
├── src/
│ └── main.rs
```
在 `main.rs` 中,我同时写了解析和输出结果的代码。这很不方便:如果我想在其他项目中使用同一个解析器,就必须复制代码。
我了解到,在 Rust 中可以创建一个同时包含 `lib.rs`(库)和 `main.rs`(二进制文件)的包。但我不明白如何正确配置。在 `Cargo.toml` 中,我没有看到明确的指令。Cargo 如何知道我有两个目标文件?可以从 `main.rs` 调用 `lib.rs` 中的函数吗?如何正确组织文件夹结构?是否需要在 `Cargo.toml` 中指定什么?
请告诉我如何正确实现。示例