Solidity智能合约开发 — 2.3-solidity语法控制结构

solidity的控制结构有if, else, while, do, for, break, continue, return。这些关键字在C语言和JavaScript中表达式相同, 学好这三板斧所有的逻辑结构都好实现。

1. if-else

function test(uint256 _number) public pure returns(bool){
    if(_number == 0){
        return(true);
    }else{
        return(false);
    }
}

2. for循环

function test() public pure returns(uint256){
    uint sum = 0;
    for(uint i = 0; i < 100; i++){
        sum += i;
        if(sum > 50){
            break;
        }  
    }
    return(sum);
}

3. do-while循环

function test() public pure returns(uint256){
    uint sum = 0;
    uint i = 0;
    do{
        if(sum < 10){
            continue;
        }
	    sum += i;
	    i++;
    }while(i < 100);
    return(sum);
}

4. 用solidity实现插入排序 

 // 插入排序
    function insertionSort(uint[] memory a) public pure returns(uint[] memory) {
        // note that uint can not take negative value
        for (uint i = 1;i < a.length;i++){
            uint temp = a[i];
            uint j=i;
            while( (j >= 1) && (temp < a[j-1])){
                a[j] = a[j-1];
                j--;
            }
            a[j] = temp;
        }
        return(a);
    }

猜你喜欢

转载自blog.csdn.net/qincheng168/article/details/126004671