在本章中,我们将介绍Cairo中的两种变量类型:局部变量local
和状态变量storage
。
局部变量(Local Variables)
local
变量在函数内声明。它们是临时的,不会存储在链上。
状态变量(Storage Variables)
与Solidity类似,Cairo支持合约状态变量。它们会被记录在链上。你需要在合约中的一个名为 Storage
的特殊结构中声明状态变量,每个合约最多可以有一个 Storage
结构。
每个存储变量有两个成员函数:read()
和 write()
。你可以用下面的方法在函数中读取和写入状态变量。
注意:这里的self: @ContractState
代表view
函数,ref self: ContractState
代表external
函数。
总结
在本章中,我们介绍了Cairo中的local
和storage
变量。