• 区块链入门到实战(35)之Solidity – 变量作用域


    局部变量的作用域仅限于定义它们的函数,但是状态变量可以有三种作用域类型。

    • Public – 公共状态变量可以在内部访问,也可以通过消息访问。对于公共状态变量,将生成一个自动getter函数。
    • Internal – 内部状态变量只能从当前合约或其派生合约内访问。
    • Private – 私有状态变量只能从当前合约内部访问,派生合约内不能访问。

    示例

    pragma solidity ^0.5.0;
    contract C {
       uint public data = 30;
       uint internal iData= 10;
    
       function x() public returns (uint) {
          data = 3; // 内部访问
          return data;
       }
    }
    contract Caller {
       C c = new C();
       function f() public view returns (uint) {
          return c.data(); // 外部访问
       }
    }
    contract D is C {
       uint storedData; // 状态变量
    
       function y() public returns (uint) {
          iData = 3; // 派生合约内部访问
          return iData;
       }
       function getResult() public view returns(uint){
          uint a = 1; // 局部变量
          uint b = 2;
          uint result = a + b;
          return storedData; // 访问状态变量
       }
    }
  • 相关阅读:
    iOS微信支付
    iOS登录及token的业务逻辑(没怎么用过,看各种文章总结)
    IOS 支付宝支付开发流程
    iOS SDWebImage实现原理
    站立会议1
    作业六:团队项目——编写项目的Spec
    作业5
    站立会议8
    站立会议 3
    站立会议 2
  • 原文地址:https://www.cnblogs.com/huanghanyu/p/13182807.html
Copyright © 2020-2023  润新知