11-Solidity8.0-循环

380 阅读1分钟

和 Javascript 的循环很类似

循环中可以使用循环控制语句 continue/break

但是solidity中循环的次数最好不太多 不然会消耗太多gas;

  • continue – 跳出本次循环,继续执行接下来的循环
  • break – 跳出循环(或跳出代码块)

image.png 源码:

pragma solidity ^0.8.7;

contract ForAndWhileLoops{
    function loops() external pure {
        for (uint i = 0; i < 10; i++){
            //code
            if(i==3){
                continue;
            }
            //more code
            if (i == 5){
                break;
            }
        }
        uint j = 0;
        while (j < 10){
            j++;
        }
    }
    function sum(uint _n) external pure returns (uint){
        uint s;
        for (uint i = 1; i <= _n; i++){
            s +=i;
        }
        return s;
    }
}