modifier可以改变函数的行为。通常用来做权限检查,条件显示等等
定义
modifier isOwner {
require(msg.sender == owner, "No permission");
_;
}
使用
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;
contract Demo {
address owner;
string public name;
// 定义
modifier isOwner {
require(msg.sender == owner, "No permission");
// 表示结尾
_;
}
constructor() {
name = "unknow";
owner = msg.sender;
}
// 只有 owner 才能改变
function updateUserName(string memory _name) public isOwner {
name = _name;
}
}