函数modifire

函数modifire用于在执行函数前,执行某些初始化的操作。例如权限的判断。
modifire可以起到封装的作用,简化代码的书写。

modifire的定义

添加modifire关键字, 在花括号内部输入语句,并在最后加上下划线_

1
2
3
4
modifier  函数名(){
 语句;
   _;
}

modifire使用

modifire的使用方法是,将modifer的名字加在函数修饰符与返回值之间,如下所示

1
2
3
4
5
6
7
8
9
10
11
12
13
modifier OnlyOwner(){
require(msg.sender==owner);
   _;
}

function changeIt(uint _num) public OnlyOwner{
   a = _num;
}


 function getIt() view public OnlyOwner returns(address) {
  return owner;
}

对于上面加上了modifire的函数changeIt和getIt。
changeIt函数的执行流程为 首先执行require(msg.sender==owner),再执行函数体内部的所有语句,这里是 a = _num

所以,modifier中的下划线其实是指代的函数体内部所有语句。在执行函数内部代码前,会先执行modifire中的语句。

  • 本文链接: https://dreamerjonson.com/2018/11/22/solidity-32-modifire/

  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!

solidity智能合约[32]-函数modifire_第1张图片