我阅读了mod文档,发现我必须在每个文件夹中添加mod.rs
。例如,在我的项目结构中,我必须像这样定义mod:
src/
models/
login.rs
mod.rs
routes/
login_route.rs
mod.rs
services/
login_service.rs
mod.rs
main.rs
在 main.rs
中这样使用:
mod models;
mod routes;
mod services;
为什么要这样做?为什么要这样设计?如果项目变大,只是为了暴露模块而有很多mod.rs
文件,这是否是一个好的实践?我不理解。这种方式有什么优势吗?如果我们只是这样做:
crate::models::login;
它非常清晰易懂。
src/
目录中有一个.rs
文件,并不意味着它被编译。这只是意味着你必须选择哪些文件进行编译,显然你必须按名称引用你想要的文件(mod name;
),这些文件相对于当前文件来说。我不确定你是否将其作为一种“假设”加以量化,但每个人有自己的见解。 - kmdreko./name.rs
文件,要么存在./name/mod.rs
文件。问题是为什么不再进一步:如果既不存在./name.rs
又不存在./name/mod.rs
,但存在./name
(或./name/<file>
),那么将mod name;
视为与存在空的./name/mod.rs
文件相同。 - allidoiswin