Menu
CoddyTech

状态变量

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

在合约中声明、但在所有函数外部声明的变量是状态变量。该合约中的函数共享这个变量。在已部署的区块链上,成功的状态更改可以在不同交易之间保留。

在合约作用域中声明这个变量:

uint256 count;

在提供的 main 函数中使用它:

count = 6;
console.log(count);

count 在合约作用域中声明,main 会为它赋值。这个练习运行器会在每个测试用例开始时使用全新的、值为零的存储空间,所以不要指望一个测试用例会接着另一个测试用例继续运行。在本单元中,通过在 main 内赋值来初始化状态,而不要使用声明初始化器或构造函数。

状态变量在合约作用域中声明,位于函数体之外。

challenge icon

挑战

简单

声明一个状态变量 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  {
        // 在这里写下你的答案。
    }
}
quiz icon自我测试

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

基础知识中的所有课

自己练习: Solidity 在线编辑器