Rust 哪个可见性参数给出结构和函数,哪些应该在子模块中可见?

Rust 哪个可见性参数给出结构和函数,哪些应该在子模块中可见?,rust,visibility,Rust,Visibility,TL;DR我发现,如果我想在(子)^+-模块中使用函数的结构,我不需要给它任何可见性。关于子模块的级别,只需编写use super::{}与super::重复次数作为子模块的级别 编辑:我添加了一个小代码示例来更好地演示我的问题 我偶尔会遇到架构问题:“这个文件已经太大了吗?”因此,让我介绍一下初始代码 mod模块{ 结构参数{} 结构Foo{} fn test_foo(foo:foo,param:Parameter)->bool{ 未执行!() } } 为了解决过大代码文件的问题,我将文件重

TL;DR我发现,如果我想在(子)^+-模块中使用函数的结构,我不需要给它任何可见性。关于子模块的级别,只需编写
use super::{}
super::
重复次数作为子模块的级别

编辑:我添加了一个小代码示例来更好地演示我的问题

我偶尔会遇到架构问题:“这个文件已经太大了吗?”因此,让我介绍一下初始代码

mod模块{
结构参数{}
结构Foo{}
fn test_foo(foo:foo,param:Parameter)->bool{
未执行!()
}
}
为了解决过大代码文件的问题,我将文件重新构造为一个模块,并将每个自包含的代码集转储到一个子模块中。下面是一个例子:

crate
 └── module
     └── submoduleA
crate
 └── module
     └── submoduleA
         └── subsubmoduleA
在任何子模块中调整代码都相当容易。为了使
mod
模块的代码在
mod
子模块中可见,我只需注释我编写的相应代码片段
使用super:{}位于子模块文件的开头。代码可能如下所示:

mod模块{
结构参数{}
模子模{
使用super::参数;
结构Foo{}
fn test_foo(foo:foo,param:Parameter)->bool{
未执行!()
}
}
}
现在它变辣了。如果我必须重新构造一个子模块怎么办?下面是一个例子:

crate
 └── module
     └── submoduleA
crate
 └── module
     └── submoduleA
         └── subsubmoduleA
如果我希望模块的代码在子模块级别可见,我应该为模块文件中的代码添加哪种可见性类型?如何在我的子模块中引入这段代码

以下代码不起作用:

mod模块{
结构参数{}
模子模{
模次亚模{
使用super::super::参数;
结构Foo{}
fn test_foo(foo:foo,param:Parameter)->bool{
未执行!()
}
}
}
}

我很困惑。您不需要任何
pub
说明符来使模块中的项对其自己的子模块可见;情况总是这样。您能更具体地说明定义的是哪个模块,哪个是用户吗?谢谢您的回答,很抱歉打扰您。现在我也明白了你的意思,解决了我的困境。很高兴我能帮忙,即使是偶然。