【stateMutability】
除了以上的可視性之外,我們還可以增加一些函數的敘述來定義這個函數的類型。
pure
: 不允許修改或訪問view
: 不允許修改狀態變量payable
: 允許函數在調用同時接收 Ether,只有宣告payable
的物件才可以進行交易
View vs. Pure
在早些版本他們被稱為
constant
函數View Function: 可閱讀但不可更改任何狀態變數
Pure Function: 不可閱讀也不可更改任何狀態變數
Pure Function
可以呼叫其他的Pure function
不可以呼叫View function,也不可以呼叫其他的沒有標明Pure或View,但卻會更改到狀態的函數(也被稱作Writing function)
不可以讀取或對狀態變數做任何更改
View Function
可以存取任何的狀態變數,但僅能做讀取用,不可進行修改。
可以呼叫其他的Pure function
不可以呼叫其他的沒有標明
pure
或view
,會更改到狀態的函數(也被稱作Writing function)
Last updated