Menu
CoddyTech

break 和 continue

本课属于 Coddy Solidity 学习旅程的“基础知识”单元。第 34 课,共 53 课。

在循环中,break 会立即退出循环。continue 会跳过当前迭代剩余的部分,并进入下一次迭代。在 for 循环中,执行 continue 后,更新表达式仍会运行。

这段代码中的语句在提供的 main 函数中运行。

for (uint256 i = 1; i <= 5; i++) {
    if (i == 2) { continue; }
    if (i == 4) { break; }
    console.log(i);
}

第二次迭代会跳过打印。第四次迭代会在打印前退出,因此永远不会到达五。在合约中,break 和 continue 影响最近的外层循环,而不是每个函数。

break 会退出最近的循环;continue 会跳过当前迭代剩余的部分。

challenge icon

挑战

简单

打印从 1 到 n 的整数,跳过给定的 banned 值,然后打印 done。n 最大为 8,banned 介于 1 和 10 之间。

测试会按以下顺序向 main 传递参数:uint256 n、uint256 banned。每项测试都会从全新的合约状态开始。

使用 console.log 输出要求的内容。只打印要求的值,每行一个,除非任务另有要求,否则不要添加额外标签。

亲手试试

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 n, uint256 banned) external view {
        // 在这里编写你的答案。
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Solidity 在线编辑器