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 First 应用 章节中提供的步骤运行上述程序。
先单击 callSumWithTwoArguments 按钮,然后单击 callSumWithThreeArguments 按钮查看结果。
输出
0: uint256: 3 0: uint256: 6