以太坊 solidity 函数修饰符总结 publicprivateinternalexternalviewpure的区别

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太坊 solidity 函数修饰符总结 publicprivateinternalexternalviewpure的区别相关的知识,希望对你有一定的参考价值。

contract func_demo 
    uint256  count;
    // 仅读取状态变量
    function getCount() public view returns(uint256) 
        return count;
    

在Solidity代码中,

函数的访问权限:

  • public 最大的访问权限,子类可以继承、可以访问,当前类能访问
  • private 仅限内部访问,子类不能继承、不能访问
  • internal 子类可以继承、可以访问,当前类可以访问
  • external 子类可以继承、可以访问,当前类不能访问

状态变量的访问权限:

  • view 对状态变量只读,这里的状态变量还包含区块链的内建对象数据、时间戳
  • pure 既不修改,也不读取状态变量的值

如果函数不加pure或view,则代表会修改状态变量的值

https://github.com/WeBankBlockchain/SmartDev-Contract/blob/master/docs/miscs/tutorial/Solidity-basic.md

以上是关于以太坊 solidity 函数修饰符总结 publicprivateinternalexternalviewpure的区别的主要内容,如果未能解决你的问题,请参考以下文章

以太坊 Solidity 函数返回(returns)多个值 和 接收方式

以太坊 solidity 函数的完整声明格式

以太坊智能合约语言Solidity - 5 函数

以太坊python中不直观的solidity合约返回值

以太坊是什么,智能合约,编程语言:Solidity,DApp: 去中心化的应用程序,Truffle

以太坊 solidity msg对象