溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

solidity智能合約[21]-數(shù)組字面量

發(fā)布時(shí)間:2020-07-21 03:02:23 來源:網(wǎng)絡(luò) 閱讀:177 作者:jonson_jackson 欄目:開發(fā)技術(shù)

數(shù)組字面量特點(diǎn)

1、數(shù)組字面量類似與一個(gè)常量數(shù)組,不能修改大小和長度,例如[1,2,3]
2、數(shù)組字面量滿足最小匹配原則,意味著[1,2,3]存儲(chǔ)的類型為uint8,[256,2,3]存儲(chǔ)的類型為uint16。Solidity會(huì)自動(dòng)的匹配最小的能夠容納的類型
3、如果要改變類型的大小,如[1,2,3]中類型為uint256,那么我們可以強(qiáng)制轉(zhuǎn)換為[uint(1),2,3]。

代碼例子如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
pragma solidity ^0.4.23;


contract ArrayLiterals{

   // function getarrayLiteratel() returns(uint[3]){
   //     return [1,2,3];
   // }
   //  function getarrayLiteratel() returns(uint[3]){
   //     return [256,2,3];
   // }

       function getarrayLiteratel()  public pure returns(uint8[3]){
       return [1,2,3];
   }

         function getarrayLiteratel2()  public pure returns(uint16[3]){
       return [256,2,3];
   }

   function getarrayLiteratel3()  public pure returns(uint[3]){
       return [uint(1),2,3];
   }

     //可以傳遞數(shù)組字面量,在remix調(diào)用欄中輸入[1,2,3]
     function getarrayLiteratel3(uint[3] grade)  public pure returns(uint){
      uint sum = 0;

      for(uint i = 0;i<grade.length;i++){
          sum+=grade[i];
      }

      return sum;
   }
}
  • 本文鏈接: https://dreamerjonson.com/2018/11/20/solidity-21-arrayiterator/

  • 版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協(xié)議 許可協(xié)議。轉(zhuǎn)載請(qǐng)注明出處!

solidity智能合約[21]-數(shù)組字面量

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI