我们将学习solidity函数输出:
1.返回多种变量,
2.命名式返回,
3.利用解构式赋值读取全部和部分返回值
一,返回值return和returns
solidity中有两个关键字与函数输出相关,return和returns,他们的区别在于:
return用于函数主体中,返回指定的变量。
returns加在函数名后面,用于声明返回的变量类型及变量名。
// 返回多个变量
function returnMultiple() public pure returns(uint256, bool, uint256[3] memory){
return(1, true, [uint256(1),2,5]);
}
上面这串代码,我们声明的函数returnMultiple里有多个输出:returns(uint256,bool,uint256[3] memory),分别有return(1,ture,[uint256(1),2,5])与之对应返回值。
二,命令式返回
我们可以在returns中标明返回变量的名称,这样solidity会自动给这些变量初始化,并且自动返回这些函数的值,不需要加return。
// 命名式返回
function returnNamed() public pure returns(uint256 _number, bool _bool, uint256[3] memory _array){
_number = 2;
_bool = false;
_array = [uint256(3),2,1];
}
在上面的代码中,我们用returns(uint256 _number,bool _bool,uint256[3]memory _array)声明了返回变量类型以及变量名。这样,我们在主体中只需要给变量_number,_bool,_array赋值就可以自动返回了。
同时如果return同样也是可行的
function returnNamed2 public pure returns(uint256 _number,bool _bool,uint256[3]memory_array){
return(1,ture,[uint256(3),2,1]);
}
三,解构式赋值
solidity使用解构式赋值的规则,支持读取函数的全部或部分返回值。
1.读取所有返回值:声明变量,并且将要赋值的变量用,
隔开,按顺序排列。文章来源:https://www.toymoban.com/news/detail-745689.html
uint256 _number;
bool _bool;
uint256[3] memory _array;
(_number, _bool, _array) = returnNamed();
2.读取部分返回值:声明要读取的返回值对应的变量,不读取的留空。下面这段代码中,我们只读取_bool,而不读取返回的_bool和_array;文章来源地址https://www.toymoban.com/news/detail-745689.html
(, _bool2, ) = returnNamed();
到了这里,关于solidity——第四课函数输出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!