【Returns】

我們可以在定義函數時的參數後加上 returns 來敘述回傳值的型態。

以下的例子我們要回傳一個布林值,所以就在 returns 後敘述 bool

pragma solidity ^0.8.11;
contract MyContract {
    function myFunction() public view returns (bool) {
        return true;
    }
}

Solidity 和其他強型別語言不同的是,他可以回傳多個值,也就是 Multiple Return Values 的使用:

pragma solidity ^0.8.11;
contract MyContract {

    uint public x;
    uint public y;
    uint public z;

    function multipleReturns() public view returns(uint a, uint b, uint c) {
        return (1, 2, 3);
    }

    function processMultipleReturns() external {
        // 這邊我們可以一次賦值多個內容,是非常好用的寫法。
        (x, y, z) = multipleReturns();
    }

    function getLastReturnValue() external {
        // 如果我們只想要把 multipleReturns() 這個函數回傳的第三個值賦值給 c ,那我們可以利用以下方法
        (,,z) = multipleReturns();
    }
}

Last updated

Was this helpful?