SOLIDITY REMIX方法傳遞數組參數

  • 2019 年 10 月 4 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/wo541075754/article/details/100179366

在編寫智慧合約的時候,某些方法可能需要通過傳遞數組來實現,那麼在solidity中如何通過傳遞數組來完成相應的功能呢。下面以具體實例來進行說明。

function test1(address[] memory a3,uint256[] memory a4) public{    // 省略業務邏輯  }

在上面的方法中參數a3為地址的數組,參數a4為整數的數組。在remix編譯出來的方法中展示效果如下。

那麼,在此如何進行相應的參數封裝和傳遞呢?有兩種方案可實行,在實行這兩種方案之前,先進行了解一下這裡數組的結構,以下為地址單個參數時所傳遞的數組結構:

["0x2157BD9E65369D1C1CaeF981212748735F1C187B","0xCcd4BC74ebdEd88EAf9bAf49846b3a2257815E21"]

這樣就封裝了a3這一類的數組參數,但此時是兩個數組,那麼他們之間同樣可以通過逗號進行分割。因此,針對上面情況就參數就變成了:

["0x2157BD9E65369D1C1CaeF981212748735F1C187B","0xCcd4BC74ebdEd88EAf9bAf49846b3a2257815E21"],[1000,10000]

上面這種形式是一種方案,就是直接在test1後面的參數中填寫上面的數據內容直接執行。

另外一種方案就是點擊test1後面的向下的箭頭,展開之後會出現下圖所示的兩個參數,原本用逗號分隔的兩部分,分別填入兩個參數中,同樣可以達到目的。