变量作用域

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