پرش به محتوا
Home » آشنایی با value type ها در سالیدیتی

آشنایی با value type ها در سالیدیتی

سالیدیتی جزو زبان هاییست که وقتی متغیری تعریف میکنیم، حتما باید نوع داده (data type) آن را هم مشخص کرده باشیم. ضمن اینکه متغیر ها فقط مقداری متناسب نوع داده شان می پذیرند و امکان تغییر نوع داده بعد از تعریف وجود ندارد.

در ابتدا داده ها را به دو نوع value type ها و reference type ها تقسیم می شوند و در این مقاله value type ها را مورد بررسی قرار می دهیم.

تفاوت value type ها و reference type ها چیست؟

در value type ها بر خلاف reference type ها، داده های متغیر ها مستقیم در حافظه تخصیص یافتشان ذخیره می شوند.

انواع value type ها در سالیدیتی عبارتند از:

  • Signed integers: که با حرف int تعریف می شود و یک int256 میتواند از -2 ** 255 تا 2 ** 255 – 1 را در خود جای دهد. به طور پیش فرض 32 بایت از حافظه را اشغال می کند اما میتوان با اشاره به مقدار مورد نیاز(int8, int16, int32) آن را کم و زیاد کرد.
  • Unsigned integers: که با حرف uint مشخص می شود. همانند مورد قبل، چنانچه نقدار حافظه را مشخص نکنیم، پیش فرض uint256 خواهد بود و 32 بایت حافظه اشغال خواهد کرد و میتواند مقدار از 0 تا 2 **256 – 1 را شامل شود. البته میتوان حافظه مورد نظر را با مشخص کردن آن کم و زیاد کرد. (uint8, uint16, uint32)
  • Boolean: مقادیر مورد قبول این نوع داده فقط true یا false است. این نوع داده 1 بایت حافظه اشغال می کند.
  • Addresses: این نوع داده برای ذخیره آدرس های اتریومی استفاده می شود و مقدار 20 بایت از حافظه را اشغال می کند.
  • Enums: که همان مخفف enumeration است، برای ایجاد متغیر های سفارشی کاربر استفاده می شود. فرض کنید یک enum به نام فصل ایجاد می کنید که شامل 4 فصل بهار، تابستان، پاییز، زمستان خواهد بود.
  • Bytes: بایت ها شامل 8 بیت خواهد بود که هر بیت میتواند مقدار 1 یا 0 بگیرد.
برچسب‌ها:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *