Menu
CoddyTech

遍历数组

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

使用循环计数器作为数组索引来处理每个元素。从 0 开始,只要计数器严格小于长度就继续。这样会访问最后一个有效索引,而不会尝试越界访问。

这段摘录中的语句在提供的 main 函数中运行。

uint256[3] memory values = [uint256(2), 5, 8];
uint256 total = 0;
for (uint256 i = 0; i < values.length; i++) {
    total += values[i];
}
console.log(total);

循环会访问索引 0、1 和 2,并依次加上 2、5 和 8。包含边界的 <= length 条件会尝试访问索引 3,导致回退。累加器应放在循环外。

使用 index < array.length 访问所有有效索引,不要越过末尾。

challenge icon

挑战

简单

将 a、b 和 c 存入固定大小的内存数组。使用循环计算它们的总和并打印出来。

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

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

亲手试试

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

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

基础知识中的所有课

自己练习: Solidity 在线编辑器