ماژول‌ها

دیده‌ایم که چگونه بلوک‌های impl به ما اجازه می‌دهند تا namespace functions را به یک type تبدیل کنیم.

به طور مشابه، mod به ما اجازه می‌دهد تا توابع و namespace type به این صورت داشته باشیم:

mod foo {
    pub fn do_something() {
        println!("در ماژول foo");
    }
}

mod bar {
    pub fn do_something() {
        println!("در ماژول نواری");
    }
}

fn main() {
    foo::do_something();
    bar::do_something();
}
This slide should take about 3 minutes.
  • بسته‌ها یا Packageهای عملکردی را ارائه می‌کنند و شامل یک فایلCargo.toml می‌شوند که نحوه ساخت بسته‌ای از crateهای 1+ را شرح می‌دهد.
  • در واقع Crateها درختی از ماژول‌ها هستند که در آن یک crate باینری یک فایل اجرایی ایجاد می‌کند و یک crate کتابخانه در یک کتابخانه کامپایل می‌شود.
  • ماژول‌های organization، scope، و تمرکز این بخش را تعریف می‌کنند.