您好,登錄后才能下訂單哦!
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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。