在Solidity中一个函数方法是可以返回多个结果的。下面示例中完整的展示了,如何定义多返回值的函数,并且如何获取参数。
下面是合约中调用返回值的方法,我们需要定义两个新的局部变量,然后等于这个函数就可以了.
定义部分参数进行接收,未接收的参数,直接用逗号","分割即可。
源码:
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;)