如何解决Rust 使用 vs mod?
我正在努力解决这些问题,
-
use
声明use 声明 创建一个或多个与其他路径同义的本地名称绑定。通常使用
use
声明来缩短引用模块项所需的路径。这些声明可能出现在模块和块中,通常在顶部。
还有,
-
mod
项module item 是一个模块,用大括号括起来,命名并以关键字
mod
为前缀。一个模块项将一个新的命名模块引入构成 crate 的模块树中。模块可以任意嵌套。
基本上,当我布置我的模块时,我相信我知道我想要它如何布置,但是I get confused how these two things should be layered and what they do。我认为两者中只有一个会包含代码?
解决方法
假设您有一个带有发布函数 my_mod
的模块 my_func
。在您使用 mod my_mod
语句包含您的模块之前,您不能在您的 crate 中(或在您的 crate 外)使用此函数。
在你包含你的模块之后,你可以像这样使用你的函数:
mod my_mod;
...
my_mod::my_func(...)
...
如果您未将模块包含在 crate 中的某处,则不能使用 my_mod::my_func
语句。
有时最好导入常用的定义:
mod my_mod;
use my_mod::my_func;
现在如果你想使用你的函数,你可以写:
my_func(...);
您还可以使用 pub use
语句重新导出子模块(甚至其他 crate!)的定义。
如果您使用其他 crate 导入 throw Cargo.toml
,您可以仅使用 use
语句从这些 crate 导入定义。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。