16-Solidity8.0-函数返回值

696 阅读1分钟

在Solidity中一个函数方法是可以返回多个结果的。下面示例中完整的展示了,如何定义多返回值的函数,并且如何获取参数。

image.png

下面是合约中调用返回值的方法,我们需要定义两个新的局部变量,然后等于这个函数就可以了.

image.png

定义部分参数进行接收,未接收的参数,直接用逗号","分割即可。

源码:

pragma solidity ^0.8.7;

contract functionOutputs{
    function returnMany() public pure returns (uint, bool){
        return(1, true);
    }

     function named() public pure returns (uint x, bool b){
        return(1, true);
    }

     function assigned() public pure returns (uint x, bool b){
         x = 1;
         b = true;
    }

    function destructingAssigments() public pure {
        uint x;
        bool b;
        (x, b) = returnMany();
        // (, b)= returnMany();
        // 定义部分参数进行接收,未接收的参数,直接用逗号","分割即可。

    }

}

在同崔棉大师学习过程中,发现第23行代码有报错 “Warning: Unused local variable”未使用局部变量,要先定义局部变量 (uint x; bool b;)