注意事项
- mod 如果要使用,需要加 pub 前缀
- mod 中如果要引用标准库中的 mod 时, use 语法需要写到 mod 的内部,切记不要写到外部
- 要使用一个 mod 时,首先需要
mod worker;
来将其引入到全局的 crate 中 (这里是 lib.rs) , - 然后再引用 mod
use crate::worker
; - 如果你要使用
worker
文件夹下面的worker
这个 mod, 那么就需要这样写了use crate::worker::worker
;
定义一个 mod
1 | // src/worker.rs |
在其他文件中使用它
1 | // lib.rs |
如果已经在 crate 中进行了 mod worker; 的引用 那么其他非 crate 的文件(必须也在 crate 中进行引用过),
只需要通过 下面代码即可以使用
1 | // src/job.rs |
注意
这里的 job.rs 必须已经在 crate 也就是 lib.rs 中引用了
1 | // src/lib.rs |
总结
其实正如官方文档描述的一样,mod 类似于一个 tree,我们必须要在 tree 的顶端引入每个需要使用的 mod,也就是 mod job;
这样才能让 src/job.rs
这个文件被编辑器识别,然后在其他文件中就可以通过 use crate::job
来访问了
如果仅仅是像 js 一样用于拆分文件,而不是在每个文件中实现多个 mod 的话, 其实 worker.rs
里面的内容可以这样写
1 | use std::thread; |
然后这样引用
1 | use std::thread; |