نحوه نوشتن دستور if در Solidity
دستور if در Solidity یک دستور شرطی است که اگر درست باشد، یک تابع را انجام می دهد. دستور if بر اساس درست بودن یک شرط اجرا می شود. اگر هیچ یک از شرایط درست نباشد، بلوک else اجرا می شود.
در کد زیر تعریف عبارت if و چند مثال ساده آورده شده است. این مثال ها به شما کمک می کند تا الگوهای دستور if را شناسایی کنید تا بتوانید آنها را در قراردادهای هوشمند خود بازنویسی کنید.
سینتکس اصلی دستور solidity در if به شرح زیر است:
if (evaluate expression #1) {
//execute a statement if expression #1 above is true
} else if (evaluate expression #2) {
//execute a statement if expression #2 above is true
} else {
//Statement to be executed if no expression is true
}
به عنوان یادآوری در کد زیر یک نمونه قرارداد هوشمند نمایش داده شده است که که یک متغیر حالت را تنظیم می کند. ما از این ساختار به عنوان مبنایی برای ساخت دستورات if خود استفاده خواهیم کرد.
//Sample contract is an example to save x to a state variable
contract SampleContract {
uint public x;
function numbers(uint _x) public {
x = _x;
}
}
//or
//Added return statements
contract SampleContract {
uint public x;
function numbers(uint _x) public returns(uint){
x = _x;
return _x;
}
}
اکنون اجازه میدهیم قرارداد نمونه را یک قدم جلوتر ببریم و یک شرط if را به تابع اضافه کنیم.
//Sample contract with an if statement which saves results to a state variable
pragma solidity ^0.8.1;
contract sampleContract {
uint public x;
function numbers(uint _x) public {
if (_x < 25 ) {
x = 0;
} else if (_x < 50 ) {
x = 1;
}
else {
x = 2;
}
}
}
//or
//Added return statements
contract SampleContract {
uint public x;
function numbers(uint _x) public returns(uint){
if (_x < 25 ) {
x = 0;
return x;
} else if (_x < 50 ) {
x = 1;
return x;
}
else {
x = 2;
return x;
}
}
}
حالا اجازه میدهیم تابعی بسازیم که یک uint بگیرد، ورودی را در یک شرط if ارزیابی کند، و یک رشته را در یک متغیر حالت ذخیره کند.
pragma solidity ^0.8.1;
contract SymbolReturn {
string public symbol;
//input 1 or 2 in the function and save BTC or ETH to the state variable
function symbolNum(uint _symbolNum) public {
if (_symbolNum == 1 ) {
symbol = 'BTC';
} else if (_symbolNum == 2 ) {
symbol = 'ETH';
} else {
symbol = 'CRAPCOIN';
}
}
}
در صورتی که تجربه خاصی در خصوص برنامهنویسی ندارید میتوانید از دورههای رایگان سایت ما “فرازمان“، استفاده کنید. همچنین اگر به دورههای پیشرفتهتری در این خصوص نیاز داشته باشید، ما با آموزش های حرفه ای که در سایتمان قرار دادیم می توانید به سطح دلخواهتان با تلاش و پشتکار برسید.
نقشه راه
راهنما آکادمی فرازمان
برای یادگیری برنامه نویسی بلاکچین…
در این باره بیشتر بخوانید
دیدگاهتان را بنویسید