在solidity中函数可以不返回值,也可以返回一个值,也可以返回多个值。下面具体看一下各种情况的使用实例。

不返回指定

function noReturn() public view {
    // do some bussiness
}

返回一个值

返回一个值的情况可以有两种写法:

function oneReturn() public pure returns(uint){
    // do some bussiness
    return 1;
}

function oneReturn1() public pure returns(uint _result){
    // do some bussiness
    return 1;
}

这两种写法的区别在于返回结果是否定义变量名称。

返回多个值

返回多个值也有两种写法。

function monyReturn() public pure returns(uint ,uint ){
    // do some bussiness
    return (1,2);
}

function monyReturn1() public pure returns(uint _result1,uint _result2){
    // do some bussiness
    return (1,2);
}

注意,返回结果是在小括号内,以逗号分隔。

返回多个值的使用

返回结果的使用也有两种方式:

function processResult() public pure{
    uint a=0;
    uint b=0;
    (a,b) = monyReturn();
}

function processResult1() public pure{
    uint b=0;
    (,b) = monyReturn();
}

第一种方式,定义返回结果的全部变量,然后将变量通过方法返回的结果进行赋值。

如果只需要返回结果的一部分内容,只需要定义需要的变量,然后不需要的结果直接为空即可,但必须依旧用逗号分隔。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注