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