在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();
}

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

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



solidity 函数返回多个值插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2019/07/28/solidity-%e5%87%bd%e6%95%b0%e8%bf%94%e5%9b%9e%e5%a4%9a%e4%b8%aa%e5%80%bc-md/