Advanced Features

تا اینجا، شما با رایج‌ترین بخش‌های زبان برنامه‌نویسی راست آشنا شده‌اید. پیش از اینکه در فصل 21 یک پروژه دیگر انجام دهیم، به برخی از جنبه‌های زبان می‌پردازیم که ممکن است هر از گاهی با آن‌ها روبرو شوید، اما شاید هر روز از آن‌ها استفاده نکنید. می‌توانید از این فصل به‌عنوان مرجعی استفاده کنید زمانی که با موارد ناشناخته‌ای روبرو می‌شوید. ویژگی‌هایی که اینجا پوشش داده می‌شوند در موقعیت‌های بسیار خاص مفید هستند. اگرچه ممکن است اغلب به آن‌ها نیاز نداشته باشید، ما می‌خواهیم اطمینان حاصل کنیم که شما درک خوبی از تمام ویژگی‌هایی که راست ارائه می‌دهد دارید.

در این فصل، ما به موضوعات زیر خواهیم پرداخت:

  • Unsafe Rust: چگونه می‌توان از برخی از تضمین‌های راست چشم‌پوشی کرد و مسئولیت تضمین دستی این موارد را بر عهده گرفت.
  • Advanced traits: نوع‌های مرتبط (associated types)، پارامترهای نوع پیش‌فرض، نحو کاملاً واجد شرایط، ابر traits (supertraits)، و الگوی newtype در رابطه با traits.
  • Advanced types: بیشتر درباره الگوی newtype، نام مستعار نوع (type aliases)، نوع never، و نوع‌های با اندازه پویا.
  • Advanced functions and closures: اشاره‌گر (Pointer)های تابع و بازگرداندن closures.
  • Macros: روش‌هایی برای تعریف کدی که در زمان کامپایل کد بیشتری تعریف می‌کند.

این یک مجموعه گسترده از ویژگی‌های راست است که برای همه چیزی در آن وجود دارد! بیایید شروع کنیم!