قابلیت دید
ماژولها یک مرز حریم خصوصی هستند:
- گزینههای ماژول به طور پیشفرض private هستند (جزئیات پیاده سازی را پنهان میکند).
- کزینههای sibling و sibling همیشه قابل مشاهده است.
- به عبارت دیگر، اگر یک مورد در ماژول
fooقابل مشاهده باشد، در همه فرزندانfooقابل مشاهده است.
mod outer {
fn private() {
println!("outer::private");
}
pub fn public() {
println!("outer::public");
}
mod inner {
fn private() {
println!("outer::inner::private");
}
pub fn public() {
println!("outer::inner::public");
super::private();
}
}
}
fn main() {
outer::public();
}
This slide should take about 5 minutes.
- از کلمه کلیدی
pubبرای public کردن ماژولها استفاده کنید.
علاوه بر این، مشخصکنندههای پیشرفته pub(...) برای محدود کردن دامنه دید عمومی وجود دارد.
- این آدرس با ببینید Rust Reference.
- پیکربندی قابل نمایش بودن
pub(crate)یک الگوی رایج است. - این مورد کمتر متداول است، شما میتوانید به یک مسیر خاص دید بدهید.
- در هر صورت، قابلیت دیدن باید به یک ماژول والد (و همه فرزندان آن) داده شود.