در اینجا با چند نمونه از انواع داده اولیه در سالیدیتی آشنا می شوید.
- 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 امتحانش کنین