如何在 Rust 中使用多个文件?

hup*_*ups 12 rust

如何在 Rust 中使用多个文件?
\n我的主要代码在file1.rs. file2.rs多次运行 main 函数file1.rs,这就是为什么我想将它分成 2 个文件,以保持代码干净。比我只想运行file2.rs我的文件中的主要功能main.rs。(我正在使用最新版本的 Rust - 2021)

\n

文件夹结构:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.lock  \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.toml  \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src  \n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.rs  \n\xe2\x94\x82  \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file1.rs\n|  \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file2.rs\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 target  \n
Run Code Online (Sandbox Code Playgroud)\n

主程序.rs

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.lock  \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.toml  \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src  \n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.rs  \n\xe2\x94\x82  \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file1.rs\n|  \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file2.rs\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 target  \n
Run Code Online (Sandbox Code Playgroud)\n

文件2.rs

\n
pub mod file1;\npub mod file2;\n\npub fn main() {\n    file2::main();\n}\n
Run Code Online (Sandbox Code Playgroud)\n

文件1.rs

\n
pub mod file1;\n\npub fn main() {\n    file1::func("Bob");\n    file1::func("Alice");\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我收到此错误消息:

\n
file not found for module `file1`\nto create the module `file1`, create file "src/file2/file1.rs"\nor "src/file2/file1/mod.rs" rustcE0583\n
Run Code Online (Sandbox Code Playgroud)\n

小智 5

这里你说 file2.rs 有一个名为 file1 的模块,所以你的树应该是:

src
 |
  ---- main.rs
  ---- file2.rs
  ---- file2
        |
        ----- file1.rs
Run Code Online (Sandbox Code Playgroud)

或者将其更改为:

主要.rs:

src
 |
  ---- main.rs
  ---- file2.rs
  ---- file2
        |
        ----- file1.rs
Run Code Online (Sandbox Code Playgroud)

文件2.rs:

pub mod file1;
pub mod file2;

// ...
Run Code Online (Sandbox Code Playgroud)