Skip to content

条件语句

Solidity 支持条件语句。条件语句允许在程序中执行不同的代码块,具体根据条件表达式是否为真来决定执行哪个代码块。

分类

Solidity 中,常见的条件语句有 if 语句、if-else 语句和 switch 语句。

示例 if

下面是一个简单的 if 语句的示例代码:

solidity
pragma solidity ^0.8.0;

contract ExampleContract {
    uint public x = 0;

    function setValue(uint value) public {
        if (value > 10) {
            x = value;
        }
    }
}

在上面的代码中,如果传入的 value 大于 10 ,则 x 的值将被设为传入的 value

示例 if-else

下面是一个 if-else 语句的示例代码:

solidity
pragma solidity ^0.8.0;

contract ExampleContract {
    uint public x = 0;

    function setValue(uint value) public {
        if (value > 10) {
            x = value;
        } else {
            x = 0;
        }
    }
}

在上面的代码中,如果传入的 value大于 10,则 x 的值将被设为传入的 value ,否则 x 的值将被设为 0

示例 switch

最后,下面是一个 switch 语句的示例代码:

solidity
pragma solidity ^0.8.0;

contract ExampleContract {
    uint public x = 0;

    function setValue(uint value) public {
        switch(value) {
            case 1:
                x = 10;
                break;
            case 2:
                x = 20;
                break;
            default:
                x = 0;
                break;
        }
    }
}

在上面的代码中,如果传入的 value 等于 1 ,则 x 的值将被设为 10 ,如果传入的 value 等于 2,则 x 的值将被设为 20 ,如果传入的 value 既不是 1 也不是 2,则 x的值将被设为 0