状态变量
本课属于 Coddy Solidity 学习旅程的“基础知识”单元。第 26 课,共 53 课。
在合约中声明、但在所有函数外部声明的变量是状态变量。该合约中的函数共享这个变量。在已部署的区块链上,成功的状态更改可以在不同交易之间保留。
在合约作用域中声明这个变量:
uint256 count;在提供的 main 函数中使用它:
count = 6;
console.log(count);count 在合约作用域中声明,main 会为它赋值。这个练习运行器会在每个测试用例开始时使用全新的、值为零的存储空间,所以不要指望一个测试用例会接着另一个测试用例继续运行。在本单元中,通过在 main 内赋值来初始化状态,而不要使用声明初始化器或构造函数。
状态变量在合约作用域中声明,位于函数体之外。
挑战
简单声明一个状态变量 visits。在 main 中,将它设置为提供的 start,调用内部辅助函数 addVisit,让它将 visits 增加 1,然后打印 visits。
测试会按以下顺序向 main 传递参数:uint256 start。每项测试都会从全新的合约状态开始。
使用 console.log 输出要求的内容。只打印要求的值,每行一个,不要添加额外标签,除非任务有特别说明。
亲手试试
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 start) external {
// 在这里写下你的答案。
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Solidity 在线编辑器