Պարզունակ տվյալների տեսակները

Այստեղ մենք ձեզ ներկայացնում ենք մի քանի պարզունակ տվյալների տեսակներ, որոնք հասանելի են Solidity-ում:

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

contract Primitives {
    bool public boo = true;

    /*
    uint նշանակում է անստորագիր ամբողջ թիվ, որը նշանակում է ոչ բացասական ամբողջ թվեր
    հասանելի են տարբեր չափսեր
         uint8-ը տատանվում է 0-ից մինչև 2 ** 8 - 1
         uint16-ը տատանվում է 0-ից մինչև 2 ** 16 - 1
         ...
         uint256-ը տատանվում է 0-ից մինչև 2 ** 256 - 1
    */
    uint8 public u8 = 1;
    uint public u256 = 456;
    uint public u = 123; // uint-ը uint256-ի այլանուն է

    /*
    Բացասական թվերը թույլատրվում են int տեսակների համար:
    Ինչպես uint-ը, տարբեր միջակայքերը հասանելի են int8-ից մինչև int256
    
    int256-ը տատանվում է -2 ** 255-ից մինչև 2 ** 255 - 1
    int128-ը տատանվում է -2 ** 127-ից մինչև 2 ** 127 - 1
        */
    int8 public i8 = -1;
    int public i256 = 456;
    int public i = -123; // int-ը նույն int256 է

    // int-ի նվազագույն և առավելագույնը
    int public minInt = type(int).min;
    int public maxInt = type(int).max;

    address public addr = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;

    /*
    Solidity-ում տվյալների տեսակի բայթը ներկայացնում է բայթերի հաջորդականություն: 
    Solidity-ն ներկայացնում է բայթերի երկու տեսակ.

     - ֆիքսված չափի բայթային զանգվածներ
     - դինամիկ չափի բայթային զանգվածներ:
     
     Solidity-ում 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
}

Փորձեք Remix-ում

What are your feelings