《诗经·大雅·抑》中的《木瓜》篇言“投我以木桃,报之以琼瑶”。含蓄地表达了古时候,男女之间微妙的情愫。若我对你有好感,我便随手摘一个桃子送你。如果你对我也有好感,便以身上的配饰作为回复相送。这一投一报之间,圆滑的表示了双方的意愿。就犹如Solidity中的return关键字一样,如果函数调用者对函数逻辑“有意思”的话,return关键字就是他们传达“感情”的木桃与琼瑶。

实验目的

1. 知道Solidity中returns的基本结构与要求。

2. 明白Solidity中的returns的参数是否可以命名。

3. 了解无return的返回条件。

实验要求

1. 查看下面函数test1,思考这个空方法体的函数是否编译通过?如果不通过,请修正它。

2. 查看下面的代码,思考无参数的test1与有参数的test1函数,它们都没有return关键字,但都有返回值的命名。它们是否有返回值?

3. 查看函数test2思考该函数将会返回a的值还是result的值?

以下是本次实验所使用到的测试代码,请使用remix编辑器完成该实验

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; 
contract functionReturnTest {
//思考函数test是否通过编译?
function test() public pure returns(){ 
}
//无参数的test1是否会通过编译,它是否有返回值? (1)
function test1() public pure returns(uint result){
         result=2;    
}
//有参数的test1,是否一样能通过编译?    (2)
 function test1(uint a,uint b) public pure returns(uint add,uint multiply){
         add = a+b; 
         multiply = a*b; 
}
//函数test2会返回a的值,还是result的值?   (3)
function test2() public pure returns(uint result){
        uint a = 10;
        result = 100; 
        return a; 
}

下面是本次实验所配套的视频教程: