10-Solidity8.0-结构控制 if else

226 阅读1分钟

大部分JavaScript的控制结构都适用于Solidity

如if,else,while,do,for,break,continue,return,?= ;

圆括号在声明条件时不能够省略,但花括号在仅声明时可以被省略;

但是没有JavaScript里面的从非bool到bool型的类型转换,所以诸如 if (1) {...} 在Solidity里不可以;

image.png 源码:

pragma solidity ^0.8.7;

contract IfElse{
    function example (uint _x) external pure returns (uint){
        if (_x < 10){
            return 1;
        }else if (_x < 20 ){
            return 2;
        }else{
            return 3;
        }
    }

     function exam (uint _x) external pure returns (uint){
        // if (_x < 10){
        //     return 1;
        // }else if (_x < 20 ){
        //     return 2;
        // }else{
        //     return 3;
        // }
        return _x < 10 ? 1 : 2;
    }
}