为什么Rust中有一个mod关键字?

时间:2015-09-28 01:36:23

标签: module rust

阅读this后 我想知道为什么会出现" mod"关键字和mod.rs?文件夹层次结构也可以描述模块吗?

2 个答案:

答案 0 :(得分:12)

必须明确声明模块的原因有几个:

  • 模块可以是公开的(pub mod foo;)或私有的(mod foo;)。

  • 他们可以应用属性,属性不能放在文件中;有两个主要的例子:#[path = "x.rs"]指定不同的路径,#[cfg(…)]用于条件编译,用于模块无法解析或扩展其宏的情况。

答案 1 :(得分:3)

虽然可以,但它也可以被覆盖:

#[path = "somewhere/else"]
mod lol;