توابع getter را میتوان به صورت view یا pure تعریف کرد.
توابع View توابعی هستند که هیچ تغییری در متغیر های حالت (state) ایجاد نمیکنند.
توابع Pure توابعی هستند که نه تغییری در متغیر های حالت ایجاد میکنند و نه مقداری از آنها را میخوانند.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract ViewAndPure {
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;
}
}
Solidity