Solidity

Solidity 中的參數函式

  • August 13, 2022

我是 Solidity 的新手。以下是我遇到的程式碼片段:-

pragma solidity ^0.4.0; contract C {                                           //1
   function f(uint len) {                 // value passed to len = 7          //2 
       uint[] memory a = new uint[](7);                                       //3
       bytes memory b = new bytes(len);                                       //4    
// Here we have a.length == 7 and b.length == len a[6] = 8;                     // 5    
}
}

我無法理解為什麼 (7) 寫在new uint[]第 3 行的 RHS 之後。而且 bytes 是一種固定長度的數據類型,即 bytes1 ,那麼他們是如何創建一個長度等於的新實例的len。最後b.length == len a[6] = 8,第 5 行中的 this 是什麼意思。

我無法理解為什麼(7)寫在新單元之後

$$ $$

這只是定義固定數組的另一種方式。

此外,字節是一種固定長度的數據類型,即字節1

根據我的經驗和本文的幫助, 我可以說字節可以有各種長度。並且len將是使用者輸入。

b.length == 長度

$$ 6 $$= 8

我認為這個評論寫錯了,應該是這樣的:

b.length == len,  a[6] = 8

,我認為缺少逗號。如果我們把逗號,那麼它更有意義。所以現在它只是意味著 b 的數組長度將等於len輸入。

我希望你會發現這很有幫助

引用自:https://ethereum.stackexchange.com/questions/133533