将main.rs拆分为相互引用的文件

时间:2019-07-14 09:35:44

标签: module rust rust-crates

我具有以下结构:

|-- Cargo.toml
|-- src
|   |-- file1.rs
|   |-- file2.rs
|   `-- main.rs

src / file1.rs

pub fn function1() {}

src / file2.rs

// ERROR (1): error[E0583]: file not found for module `file1`
// mod file1;

use crate::file1;
pub fn function2() {
    file1::function1();
}

src / main.rs

// ERROR (2): no `file1` in the root
// use crate::file1;
mod file1;
mod file2;

fn main() {
    file1::function1();
    file2::function2();
}

基本上,我有另一种导入function1的方式,这取决于我位于板条箱根目录或任意Rust文件中(请参见ERROR (1)ERROR (2)) 。 我对Rust如何管理文件感到有些迷惑:它们的行为与根箱不同,后者只是一个简单的mod关键字。 因此,上面提到的答案是重复项,仅部分回答了如何从板条箱根目录引用文件,而不是为什么从另一个文件箱引用同一文件(use crate::<filename> )。

0 个答案:

没有答案