menu-icon
anue logo
鉅樂部鉅亨號鉅亨買幣
search icon
區塊鏈

Solidity極簡入門|第十六講:函數重載

BlockBeats 律動財經 2022-07-27 11:01

cover image of news article
律動財經圖片

我最近在重新學 solidity,鞏固一下細節,也寫一個「Solidity 極簡入門」,供小白們使用(編程大佬可以另找教程),每周更新 1-3 講。

所有代碼和教程開源在 github: github.com/AmazingAng/WTFSolidity

重載

solidity 中允許函數進行重載(overloading),即名字相同但輸入參數類型不同的函數可以同時存在,他們被視為不同的函數。注意,solidity 不允許修飾器(modifier)重載。

函數重載

舉個例子,我們可以定義兩個都叫 saySomething() 的函數,一個沒有任何參數,輸出"Nothing";另一個接收一個 string 參數,輸出這個 string。


實參匹配(Argument Matching)

在調用重載函數時,會把輸入的實際參數和函數參數的變量類型做匹配。

如果出現多個匹配的重載函數,solidity 文檔上說會報錯。它給的例子是兩個叫 f() 的函數,一個參數為 uint8,另一個為 uint256。文檔說如果輸入 50,既可以被轉換為 uint8,也可以被轉換為 uint256,因此會報錯。但是我沒遇到:


總結

這一講,我們介紹了 solidity 中函數重載的基本用法:名字相同但輸入參數類型不同的函數可以同時存在,他們被視為不同的函數。

原文連結

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠






Empty