سالیدیفا

انواع داده اولیه (Primitive Data Types)

در اینجا با چند نمونه از انواع داده اولیه در سالیدیتی آشنا می شوید.

  • boolean
  • uint256
  • int256
  • address
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

contract Primitives {
    bool public boo = true;

    /*
    uint:
    به معنای اعداد حسابی می باشد(مقدار منفی نمیتوان داد). از ۸ بیت تا ۲۵۶ بیت می تواند تعریف شود.
    که در زیر رنج هر کدام را مشاهده میکنین.
        uint8 : 0 to 2 ** 8 - 1
        uint16 : 0 to 2 ** 16 - 1
        ...
        uint256 : 0 to 2 ** 256 - 1
    */
    uint8 public u8 = 1;
    uint public u256 = 456;
    uint public u = 123; // اگر به سایز اشاره نکنیم منظورمان ۲۵۶ بیت است.

    /*
    int
    در این داده میتوان از اعداد منفی هم استفاده کرد.
    میتوان سایز از ۸ بیت تا ۲۵۶ بیت تعریف کرد.
    
    int256 : -2 ** 255 to 2 ** 255 - 1
    int128 : -2 ** 127 to 2 ** 127 - 1
    */
    int8 public i8 = -1;
    int public i256 = 456;
    int public i = -123; // چنانچه به سایز اشاره نکنیم منظورمان ۲۵۶ بیت است.

    // حداقل و حداکثر مقدار قابل تعریف
    int public minInt = type(int).min;
    int public maxInt = type(int).max;

    address public addr = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;

    /*
    در سالیدیتی داده ها دنباله ای در بایت ها هستند که به دو نوع زیر تقسیم می شوند:
     - آرایه ها با حجم ثابت
     - آرایه با مقدار بایت پویا
     
     byte
     در سالیدیتی به آرایه ای پویا از بایت ها اشاره میکند.
     در واقع حالت کوتاه شده
     byte[]
     است.
    */
    bytes1 a = 0xb5; //  [10110101]
    bytes1 b = 0x56; //  [01010110]

    // مقادیر پیش فرض
    // متغیر های مقدار دهی نشده دارای یک مقدار پیش فرض هستند.
    bool public defaultBoo; // false
    uint public defaultUint; // 0
    int public defaultInt; // 0
    address public defaultAddr; // 0x0000000000000000000000000000000000000000
}
Solidity

تو Remix امتحانش کنین

احساست در مورد این مقاله چیه؟