遍历数组
本课属于 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 访问所有有效索引,不要越过末尾。
挑战
简单将 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 {
// 在这里写下你的答案。
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Solidity 在线编辑器