调用辅助函数
本课属于 Coddy Solidity 学习旅程的“基础知识”单元。第 24 课,共 53 课。
一个辅助函数可以调用另一个辅助函数,将计算拆分为有意义的步骤。外层辅助函数使用返回的值,然后返回自己的结果。在合约中,可以从另一个函数直接按名称调用内部函数。
在合约中定义这个辅助函数:
function twice(uint256 n) internal pure returns (uint256) {
return n * 2;
}
function adjusted(uint256 n) internal pure returns (uint256) {
return twice(n) + 4;
}在提供的 main 函数中使用它:
console.log(adjusted(6));adjusted 调用了两次,返回 12,然后再加上 4。main 只看到最终的 16。这样的划分把重复执行的加倍规则放在一个地方,同时由另一个辅助函数描述额外的调整。
内部辅助函数可以直接按名称调用另一个内部辅助函数。
挑战
简单编写纯内部辅助函数 doubleValue,返回 n 的两倍;再编写 withBonus,返回 doubleValue(n) 加五。打印 withBonus(points)。
测试会按以下顺序向 main 传入参数:uint256 points。每项测试都会从全新的合约状态开始。
使用 console.log 输出所需内容。只打印所需的值,每行一个,除非任务有要求,否则不要添加标签。
亲手试试
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 points) external view {
// 在这里写下你的答案。
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Solidity 在线编辑器