قابلیت دید
ماژولها یک مرز حریم خصوصی هستند:
- گزینههای ماژول به طور پیشفرض 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)
یک الگوی رایج است. - این مورد کمتر متداول است، شما میتوانید به یک مسیر خاص دید بدهید.
- در هر صورت، قابلیت دیدن باید به یک ماژول والد (و همه فرزندان آن) داده شود.