solidity智能合约[28]-函数返回值
原创
©著作权归作者所有:来自51CTO博客作者gopher梦工厂的原创作品,请联系作者获取转载授权,否则将追究法律责任
函数返回值一般形式
1 2 3 4 5 6 7 8 9 10
| function resValue() pure public returns(uint){ uint a = 10; return a; }
function recieveValue() pure public returns(uint){ uint b; b = resValue(); return b; }
|
函数命名返回值
1 2 3 4 5 6 7 8 9 10 11 12 13
| //1、直接赋值、不需要return返回 function resValue2() pure public returns(uint num1){ num1 = 100; } //2、如果有return,以return为准 function resValue3() pure public returns(uint num1){ num1 = 100; return 99; } //3、不return,也不赋值,那么为0 function resValue4() pure public returns(uint num1){ uint b = 88; }
|
函数多返回值
solidity语言支持函数的多返回值。
1 2 3 4 5 6 7 8 9 10
| function mulvalue(uint a,uint b) pure public returns(uint,uint){ uint add = a+b; uint mul = a*b; return (add,mul); }
function mulvalue2(uint a,uint b) pure public returns(uint add,uint mul){ add = a+b; mul = a*b; }
|
案例:多返回值实现参数的反转
状态变量resA、resB传递过来之后。函数reverse2将会使得函数
1 2 3 4 5 6 7 8 9 10
| function reverse(uint a,uint b) returns(uint ,uint){ return (b,a); }
uint public resA = 0; uint public resB = 0;
function reverse2(uint a,uint b) { (resA,resB) = reverse(a,b); }
|