
مثل خیلی از زبان های برنامه نویسی سالیدیتی هم از عبارات شرطی(conditional statements) پشتیبانی میکند. به عنوان نکته اول سالیدیتی از سوییچ و goto داخل if پشتیبانی نمیکند. در سالیدیتی میتوانید از if، else، else if استفاده کنید.
قبل از مثال پیچیده به عبارات ساده آن توجه کنید.
if (conditional expression){
//اگر شرط برقرار شد
}
else{
//اگر شرط برقرار نشد
}
یا اگر کمی پیچیده ترش کنیم و از else if هم استفاده کنیم به این حالت میرسیم:
if (conditional expression1){
//اگر شرط ۱ بالا برقرار شد
}
else if (conditional expression2){
//اگر شرط ۲ بالا برقرار شد
}
else{
//اگر هیچ کدام از شرط ها برقرار نشد
}
حال وقت آنست که با مثال پیچیده تر رو به رو شوید. (برگرفته از سایت solidity by example):
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract IfElse {
function foo(uint x) public pure returns (uint) {
if (x < 10) {
return 0;
} else if (x < 20) {
return 1;
} else {
return 2;
}
}
function ternary(uint _x) public pure returns (uint) {
// if (_x < 10) {
// return 1;
// }
// return 2;
// shorthand way to write if / else statement
// the "?" operator is called the ternary operator
return _x < 10 ? 1 : 2;
}
}