Solidity 支持 for、while 和 do while 循环。
不要编写无界限制的循环语句,因为这可能会超出 gas 限制,导致您的交易失败。
由于以上原因,while 和 do while 循环很少使用。
以下是代码示例:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract Loop {
function loop() public {
// for 循环
for (uint i = 0; i < 10; i++) {
if (i == 3) {
// 使用 continue 跳过当前迭代
continue;
}
if (i == 5) {
// 使用 break 退出循环
break;
}
}
// while 循环
uint j;
while (j < 10) {
j++;
}
}
}代码解释:
for 循环:使用 for 循环迭代从 0 到 9 的数字,如果 i 等于 3,则使用 continue 跳过当前迭代,如果 i 等于 5,则使用 break 退出循环。
while 循环:使用 while 循环将 j 的值增加到 10。