Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 70.0MB ·虚拟内存 1300.5MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
Solidity 函数的返回值可以使用名字,也可以采用匿名方式。
Solidity 函数的返回值可以通过名字赋值,也可以使用 return 返回。
Solidity 函数支持多个返回值。
// SPDX-License-Identifier: MIT pragma solidity^0.8.0; contract funreturn{ //返回值可以有名字 function returnTest()public view returns(uint mul){ uint a= 10; return a; } //可以直接为返回值赋值 function returnTest2()public view returns(uint mul){ mul = 10; } //当给返回值赋值后,并且有个return,以最后的return为主 function returnTest3()public view returns(uint mul){ uint a= 10; mul = 100; return a; } //返回常量,自动匹配 function returnTest4()public view returns(uint mul){ uint a= 10; mul = 100; return 1; } //函数可以有多个返回值,多返回值赋值 function returnTest5(uint a,uint b) public view returns(uint add,uint mul){ add = a+b; mul = a*b; } //函数可以有多返回值,返回return(param list) function returnTest6(uint a,uint b) public view returns(uint add,uint mul){ return(a+b,a*b); } //交换变量的值 function returnTest7(uint a,uint b) public view returns(uint a1,uint b1){ return (b,a); } }
Solidity 函数多返回值的调用方法。
// SPDX-License-Identifier: MIT pragma solidity^0.8.0; contract funreturn{ // 定义多返回值函数 function returnFunc() private pure returns(uint a, uint b){ return (1, 2); } // 调用多返回值函数 function callFunc()public pure returns(uint, uint){ (uint r1, uint r2) = returnFunc(); return (r1, r2); } // 调用多返回值函数,先定义变量 function callFunc()public pure returns(uint, uint){ uint r1; uint r2; (r1, r2) = returnFunc(); return (r1, r2); } // 调用多返回值函数,但只取第一个返回值 function callFunc()public pure returns(uint, uint){ (uint r1, ) = returnFunc(); return (r1, 100); } }
solidity pure函数,也就是纯函数,是指函数不会读取或修改状态。换言之,solidity pure函数不会操作链上数据。如果函数中存在以下语句,则被视为读取状态,编译器将抛出警告。读取状态变量。访问 ...