###### tags: `solidity` # solidity function type * public : 外部以及繼承都可使用 * pivate : 外部以及繼承都不能使用 * external : 外部可使用 繼承不能使用 * internal : 外部不能使用 繼承可使用 # View, Pure, Payable **View** 函數是只讀函數,不會修改區塊鏈的狀態。換句話說,如果你想從區塊鏈中讀取數據,可以使用 View 函數 **Pure** 函數比 View 函數更具限制性, 並且不修改狀態,也不讀取區塊鏈的狀態。 換句話說,他是純粹幫助運算、執行其他函數的函數 **Payable** 函數的話請記住以下幾點 在函數或狀態變數中使用payable來發送和接收乙太幣 在狀態變數中包含payable,以便從合同中退出 在構造函數中包含payable,以便在創建/部署合約時能夠存入合約 在函數中包含payable,以允許將存款存入合同