Solidityにおいて、関数で複数の戻り値を受け取る方法について解説します。
構文
Solidityにおいて関数で複数の戻り値を受け取るには、以下のようにします。
returnsに戻り値の分だけデータ型を記述し、returnに各戻り値を丸括弧(())で記述します。
なお、複数の戻り値は一つの配列として返されます。
function 関数名 アクセス修飾子 状態修飾子 returns (戻り値のデータ型1, 戻り値のデータ型2, 戻り値のデータ型3, ..., 戻り値のデータ型n) {
return (戻り値1, 戻り値2, 戻り値3, ..., 戻り値n);
}
サンプルコード
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract Test {
function getMultipleReturnValues() public pure returns(uint, string memory, address) {
return (1, "solidityrun", address(0)); // [1, "solidityrun", 0x0000000000000000000000000000000000000000]という配列で返される
}
}
Solidityのコードを書いていると、関数から複数の値を返したいことがよくあると思います。そういう場合に備え、複数の値を返す(returnする)書き方を覚えておきましょう。