06-Solidity8.0-只读函数 view pure

294 阅读1分钟

Solidity 语言有两类和状态读写有关的函数类型,一类是 view 函数(也称为视图函数),另一类是 pure 函数(也称为纯函数);

相同点是 都是只读函数;

不同点是 view 函数不修改状态,pure 函数即不修改状态也不读取状态。

看下代码会很清晰明了

image.png

pragma solidity ^0.8.7;


contract ViewAndPure{
  uint public num;

  function viewFunction() external view returns (uint){
      return num;
  }

  function pureFunction() external pure returns (uint){
      return 1;
  }

  function addToNum(uint x) external view returns (uint){
      return num + x;
  }

  function viewFunction(uint x, uint y) external pure returns (uint){
      return x+y;
  }
}