Solidity 函数重载
同一个作用域内,相同函数名可以定义多个函数。这些函数的参数(参数类型或参数数量)必须不一样。仅仅是返回值不一样不被允许。
下面的例子展示了Solidity中的函数重载概念。
示例
pragma solidity ^0.5.0;
contract Test {
function getSum(uint a, uint b) public pure returns(uint){
return a + b;
}
function getSum(uint a, uint b, uint c) public pure returns(uint){
return a + b + c;
}
function callSumWithTwoArguments() public pure returns(uint){
return getSum(1,2);
}
function callSumWithThreeArguments() public pure returns(uint){
return getSum(1,2,3);
}
}
可以参考Solidity – 第一个程序中的步骤,运行上述程序。
首先单击
callSumWithTwoArguments按钮,然后单击
callSumWithThreeArguments按钮查看结果。
输出
0: uint256: 3
0: uint256: 6