ساختارهای نام‌دار

‏مانند C و C++، زبان Rust از ساختارهای سفارشی پشتیبانی می‌کند:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 10 minutes.

نکات کلیدی:

  • ‏ساختارها (Structs) در Rust مانند C یا C++ عمل می‌کنند.
    • ‏مانند C++ و برخلاف C، برای تعریف یک نوع نیازی به typedef نیست.
    • ‏برخلاف C++، در Rust بین ساختارها ارث‌بری وجود ندارد.
  • این زمان مناسبی است تا به مردمان اطلاع دهیم که انواع مختلفی از ساختارها وجود دارد.
    • ساختارهای بدون اندازه (مانند struct Foo;) ممکن است زمانی استفاده شوند که می‌خواهید یک صفت (trait) را بر روی یک نوع پیاده‌سازی کنید، اما داده‌ای ندارید که بخواهید در خود مقدار ذخیره کنید.
    • اسلاید بعدی ساختارهای تاپل (Tuple structs) را معرفی خواهد کرد، که زمانی استفاده می‌شوند که نام فیلدها مهم نیستند.
  • اگر از قبل متغیرهایی با نام‌های مناسب دارید، می‌توانید ساختار را با استفاده از یک روش میانبر ایجاد کنید.
  • سینتکس ..avery به ما اجازه می‌دهد که اکثر فیلدها را از ساختار قدیمی کپی کنیم بدون اینکه همه آن‌ها را صریحاً تایپ کنیم. این باید همیشه آخرین عنصر باشد.