Copyright © 2022-2025 aizws.net · 网站版本: v1.2.6·内部版本: v1.25.2·
页面加载耗时 0.00 毫秒·物理内存 117.2MB ·虚拟内存 1372.4MB
欢迎来到 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函数不会操作链上数据。如果函数中存在以下语句,则被视为读取状态,编译器将抛出警告。读取状态变量。访问 ...