智能合约实战 solidity 语法学习 08 [ require assert modifier revert ]

Posted www_vane

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能合约实战 solidity 语法学习 08 [ require assert modifier revert ]相关的知识,希望对你有一定的参考价值。

asse手机了rtass112收快递费er

require:会退回没有用完的油费gas,一般用于全局变量、输入变量或者调用外部合约判断

assert: 不会退回没有用完的油费gas,一般用于内部判断

revert: 允许返回值,没有用完的油费gas返还调用者

modifier:用来改变函数的行为,感觉像公函、利于复用,不同在于其使用方式类似于关键字的使用

 

contract HelloModifier {

    address public owner;
    address public caller;
    uint num = 100;

    // 初始化合约所有者
    constructor () public {
        
        owner = msg.sender;
    }

    function test1() public {
        // 当前方法调用者为合约所有者
        // 才会执行num=101
        // 此处require/assert均可达到效果
        require(owner == msg.sender);
        require(owner == msg.sender,"test the msg of require");
        // assert(owner == msg.sender);
        num = 101;
    }

    // modifier也可以带入参
    modifier ownerCheck() {
        require(owner == msg.sender);
        _; // 动态添加,比如 num=102;
    }

    modifier ownerCheck1(address _sender) {

以上是关于智能合约实战 solidity 语法学习 08 [ require assert modifier revert ]的主要内容,如果未能解决你的问题,请参考以下文章

智能合约实战 [solidity 语法学习](持续更新)

智能合约实战 solidity 语法学习 10 [ BNB合约解读 ] 附代码

智能合约实战 solidity 语法学习 10 [ BNB合约解读 ] 附代码

智能合约实战 solidity 语法学习 10 [ BNB合约解读 ] 附代码

智能合约实战 solidity 语法学习 03 [ 数据类型 ]

智能合约实战 solidity 语法学习 09 [ 访问函数getter 合约创建 合约对象 合约继承IS ]