变量作用域
- 变量的作用域指的是变量在代码中可见和有效的范围。Solidity 使用了 C99 作用域规则,变量从它们被声明后开始可见,直到包含它们的代码块
{}结束。 - 在
for循环中初始化的变量,其作用域仅限于for循环的范围。
状态变量作用域:
状态变量是合约的一部分,定义在合约体内但不在任何函数内。状态变量的作用域分为三种类型:- Public(公共):
- 公共状态变量可以在合约内部访问,也可以通过消息(如外部调用)访问。定义公共状态变量时,Solidity 自动为其生成一个
getter函数。 - 示例:
int public data = 30;
- Internal(内部):
- 内部状态变量只能在当前合约或其继承的子合约中访问,不能从外部直接访问。
- 示例:
uint internal iData = 10; - Private(私有):
- 私有状态变量只能在定义它们的合约内部访问,不能在子合约中访问。
- 示例:
uint private pData = 5;
浙公网安备 33010602011771号