Solidity-ビュー機能

ビュー関数は、状態を変更しないことを保証します。関数は次のように宣言できますview。次のステートメントが関数に存在する場合、状態の変更と見なされ、コンパイラーはそのような場合に警告をスローします。

  • 状態変数の変更。

  • イベントの発行。

  • 他の契約の作成。

  • 自己破壊を使用します。

  • 通話によるEtherの送信。

  • ビューまたは純粋とマークされていない関数を呼び出す。

  • 低レベルの呼び出しを使用する。

  • 特定のオペコードを含むインラインアセンブリを使用する。

Getterメソッドは、デフォルトではビュー関数です。

ビュー機能を使用した以下の例を参照してください。

pragma solidity ^0.5.0;

contract Test {
   function getResult() public view returns(uint product, uint sum){
      uint a = 1; // local variable
      uint b = 2;
      product = a * b;
      sum = a + b; 
   }
}

Solidity First Applicationの章に記載されている手順を使用して、上記のプログラムを実行します。

出力

0: uint256: product 2
1: uint256: sum 3