در سالیدیتی میتونین از دستورات شرطی if
، else if
و else
استفاده کنین تا کدهای مختلف رو براساس شرایط مختلف اجرا کنین.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
contract IfElse {
function foo(uint256 x) public pure returns (uint256) {
if (x < 10) {
return 0;
} else if (x < 20) {
return 1;
} else {
return 2;
}
}
function ternary(uint256 _x) public pure returns (uint256) {
// if (_x < 10) {
// return 1;
// }
// return 2;
// روش کوتاهتر برای نوشتن دستور if / else
// اینجا داریم از عملگر سهگانه "?" استفاده میکنیم
return _x < 10 ? 1 : 2;
}
}
توضیحاتی برای درک بهتر: #
- دستور if / else:
دستورif
برای بررسی یه شرط و انجام دادن کاری در صورتی که اون شرط درست باشه استفاده میشه. اگه شرط درست نباشه، میتونین ازelse if
یاelse
برای بررسی شرایط دیگه استفاده کنین.
توی مثال کد بالا، اول بررسی میکنیم که آیا مقدارx
کمتر از 10 هست یا نه، اگه درست بود، 0 برمیگردونیم. اگه نه، بررسی میکنیم که آیا کمتر از 20 هست که در این صورت 1 برمیگرده، و در غیر این صورت 2 برمیگرده. - عملگر سهگانه (Ternary Operator):
این عملگر، که با علامت “?” میشه نوشت، یک روش کوتاهتر برای نوشتن دستوراتif / else
هست. توی کد بالا به جای نوشتن چند خط کد، یه شرط داریم که بررسی میکنه_x
کوچیکتر از 10 هست یا نه. اگه درست بود، 1 رو برمیگردونه و اگه درست نبود، 2 برمیگردونه.