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 | function fun(){ |
1 | function fun() returns(uint){ |
1 | function fun() returns(uint){ |
1 | function fun(uint k) public pure{ |
1 | function fun2(uint a) public pure{ |
在下面的例子中,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协议 许可协议。转载请注明出处!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。