دستور if / else

در سالیدیتی می‌تونین از دستورات شرطی 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 برمی‌گردونه.