函数的一般形式
1 |
function (<parameter types>) {public|internal|external} [pure|constant|view|payable] [returns (<return types>)] |
函数的作用
1、与区块链交互
2、本地执行
3、封装代码
带参数函数
1 |
uint public num; |
带参函数调用—函数命名参数
1 |
pragma solidity ^0.4.23; |
函数重载
在一个合约中有相同名字的函数,就是函数的重载。
重载必须要函数的类型与长度都不相同。
下面的例子都是错误的写法
错误1
1 |
function fun(){ |
错误2
1 |
function fun() returns(uint){ |
错误3
1 |
function fun() returns(uint){ |
正确1
1 |
function fun(uint k) public pure{ |
正确2
1 |
function fun2(uint a) public pure{ |
例子剖析1
在下面的例子中,fun3有两个重载的函数。函数test不能够调用fun3(2),因为不能够明确到底是要调用哪一个。
fun3(256)能够执行成功。因为256超过了int8的最大值,只能够调用fun3(uint a). 如果想明确,可以强制的转换,例如uint256(2)。
1 |
function fun3(uint a) public { |
本文链接: https://dreamerjonson.com/2018/11/21/solidity-27-function-overload/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!