返回值
本课属于 Coddy Solidity 学习旅程的“基础知识”单元。第 22 课,共 53 课。
函数可以计算结果而不打印它。使用 returns 声明结果类型,然后在函数体内使用 return。调用者可以存储返回的值,并在更大的表达式中使用它。返回和打印是两个独立的操作。
在合约内定义这个辅助函数:
function doubled(uint256 n) internal pure returns (uint256) {
return n * 2;
}在提供的 main 函数中使用它:
uint256 value = doubled(9);
console.log(value + 1);辅助函数返回 18。调用方加 1 并打印 19。return 语句会结束当前函数调用,因此,无条件 return 之后的普通指令无法对这次调用产生影响。
返回值可以由调用方存储或使用,而不必由辅助函数打印。
挑战
简单编写一个名为 square 的 internal pure 辅助函数,返回 n 乘以 n。在 main 中,将 square(side) 存入一个变量并打印出来。
测试会按以下顺序向 main 传入参数:uint256 side。每个测试都会从全新的合约状态开始。
使用 console.log 输出所需内容。只打印所需的值,每行一个,除非任务另有要求,否则不要添加标签。
亲手试试
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 side) external view {
// 在这里编写你的答案。
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Solidity 在线编辑器