Solidity語言學習筆記————28、純函式

FLy_鵬程萬里發表於2018-07-02

純函式(Pure Functions)

當承諾不讀取或修改狀態時,函式可以宣告為pure

除了上面解釋的修改狀態語句的列表之外,以下語句被認為是讀取狀態:

  • 從狀態變數讀取。
  • 訪問this.balance<address>.balance
  • 訪問blocktxmsg中的任何成員,除了msg.sigmsg.data之外。
  • 呼叫任何未標記為pure的函式。
  • 使用包含某些操作碼的內聯程式集。
pragma solidity ^0.4.16;

contract C {
    function f(uint a, uint b) public pure returns (uint) {
        return a * (b + 42);
    }
}
警告
編譯器沒有強制要求pure方法不讀取狀態


相關文章