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