Rust-使用父目录中的模块



我有一个看起来有点像以下的文件结构:

src/
--clients/
----queue_client/
------mod.rs
--data_evaluator/
----data_evaluator.rs

在data_evaluator中,我想使用queue_client模块,但当我在data_evaluator.rs中执行mod queue_client时,我会得到以下错误-File not found for module queue_client。只有当我将模块移到data_evaluator文件夹中时,它才会找到模块。

我的问题是,如何正确使用使用者代码目录之外的模块?很抱歉,如果有一个简单的方法可以做到这一点,我确实尝试了很长一段时间,但找不到方法。

您似乎有点困惑。在Rust中,您可以构建模块树。您可以使用mod将模块注册为当前模块的子模块。使用use可以使用当前模块中的模块。这篇文章可能会澄清一些问题:http://www.sheshbabu.com/posts/rust-module-system/

除此之外,要使用树中比当前模块更高的模块,请使用crate来获取模块树的根。所以在你的情况下,crate::clients::queue_client

最新更新