17 View and Pure
view
: blockchain のデータを変更せず、読み込みしている場合pure
: blockchain のデータを変更あるいは読み込みをしない場合
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
contract ViewWithPure {
uint public x = 1;
// xはブロックチェーンのデータを読み込みしているので、viewを使う
function addToX(uint y) public view returns (uint) {
return x + y;
}
// i, jともにブロックチェーン外部のデータなので、pureを使う
function add(uint i, uint j) public pure returns (uint) {
return i + j;
}
}
tip
memory 引数の場合も pure をつけることができる。例えば:
function addWithNum(uint[] memory nums) public pure returns (uint) {
return nums[1]+2;
}
Remixで試す