قابلیت دید

ماژول‌ها یک مرز حریم خصوصی هستند:

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