为了整齐,我将我的铁 rust 项目分成了同一文件夹中的多个文件.现在,每个文件都被认为是它自己的一个模块,我必须将所有文件都标记为pub(crate)
.有没有办法公布文件中的所有符号以供同一机箱使用,或者将文件标记为不是它们自己的模块,而是My main.rs
的一部分?
为了整齐,我将我的铁 rust 项目分成了同一文件夹中的多个文件.现在,每个文件都被认为是它自己的一个模块,我必须将所有文件都标记为pub(crate)
.有没有办法公布文件中的所有符号以供同一机箱使用,或者将文件标记为不是它们自己的模块,而是My main.rs
的一部分?
Ruust有一个内置的宏include!
,它的工作方式类似于c中的#include
,但请记住,这不是它的预期用途.该宏通常用于包含生成的文件,如不用于编辑的OpenGL绑定.铁 rust 分析器不会在包含的文件中提供智能许可.正如@Chayim Friedman提到的那样,使用pub(crate)
是一种方法,但:
struct A; // private struct
pub(crate) struct B; // public to whole crate
pub struct C; // public to other crates, but only if this is library
pub(super) struct D; // public to parent module
如果你有main
个,我假设你的项目是应用程序而不是库,所以你只需要pub
个.