getter 类型的函数可以被view 或者 pure 修饰。 view 修饰的函数不能改变状态变量。pure 则既不能改变状态变量,也不取读取状态变量。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract ViewPureTest {
uint public x = 1;
// 不能改变状态变量.
function addToX(uint y) public view returns (uint) {
return x + y;
}

//函数中没有任何状态变量出现。
function add(uint i, uint j) public pure returns (uint) {
return i + j;
}
}

在我们无法确定该用view还是pure时,remix会给我们完善的提示信息

Solidity中view和pure的用法_Solidity

Solidity中view和pure的用法_Solidity_02