solidity modifier函数修改器 智能合约开发知识浅学(三)
環境說明: Ide:在線remix Solidity IDE
語言:solidity solidity
版本號:0.4.20
Tip:如果一點都不懂的建議從頭開始看
運行結果截圖我不贅述,所有合約代碼均通過個人檢測。請按照標準進行操作,如出問題檢測是否網絡連得上外網,且操作按照第一節內容類似操作;由于版本更新,可能會出現不同,但該教材代碼均適用于在0.4.20 版本使用
modifier 為函數的修改器,可以為一個函數控制其中邏輯。修改器為屬性,可以繼承和重寫。
函數修改器可以很方便的控制器邏輯,讓項目結構清晰合理。其實如果淺顯的看,和tp框架的前置操作有異曲同工之妙。
代碼如下:
首先聲明solidity版本號
定義合約函數,名為Test,這里和上一節都一樣、
接下來聲明一個uint256變量a
uint256 a;
接下來定義一個函數修改器:
modifier modifierfunc(uint256 value){
require(value >= 10);
_;
}
其中關鍵字為 modifier
函數修改器名為 modifierfunc
這個函數修改器接收一個 uint256 類型的參數 value
其中require為檢查輸入是否滿足要求
require(value >= 10); 其中value是否大于等于10,如果沒有則拋出錯誤
接下來是一個占位符下劃線,表示接下來要執行的代碼,意思說還有執行完后如果沒有錯誤將會執行下面的代碼。
set函數:
function set(uint256 x)public modifierfunc(x){
a=x;
}
其中是一個名為set 的方法,接收一個uint256類型的參數x
用public修飾符修飾整個函數
并且用函數修改器修飾這個函數,這個函數修改器是modifierfunc
并且接收參數為之前set函數接收的參數x
函數內容為 a=x
把鍵入的x的值給予合約屬性a變量
get函數:
function get() public constant returns(uint256){
return a;
}
在這里get函數為public類型
用constant修飾這個函數表示未進行修改變量
返回值為uint256,用returns修飾返回值類型
最后返回:return a;
最終部署運行:不會的看第一篇
記得一定要解鎖錢包,不會的看第一篇
如果這一段不會請看第一篇
部署后調用函數:
展開合約后,點擊set輸入11,點擊get調用合約函數將會返回11
假設輸入小于10的數,則會報錯
總結
以上是生活随笔為你收集整理的solidity modifier函数修改器 智能合约开发知识浅学(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不同步节点在线使用Remix开发以太坊D
- 下一篇: solidity struct 结构体创