成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

solidity定長數(shù)組和動態(tài)數(shù)組

tinysun1234 / 1332人閱讀

摘要:固定長度的數(shù)組固定長度數(shù)組聲明直接在定義數(shù)組的時候聲明固定長度數(shù)組的值可通過數(shù)組的屬性來獲得數(shù)組的長度,進而進行遍歷操作。動態(tài)數(shù)組獲取長度方式與靜態(tài)數(shù)組一直,但動態(tài)數(shù)組可以直接修改數(shù)組長度,而不會出現(xiàn)編譯不通過的情況。

固定長度的數(shù)組 固定長度數(shù)組聲明

直接在定義數(shù)組的時候聲明固定長度數(shù)組的值:

uint[5] fixedArr = [1,2,3,4,5];

可通過數(shù)組的length屬性來獲得數(shù)組的長度,進而進行遍歷操作。

// 通過for循環(huán)計算數(shù)組值的總和
function sum() public view returns (uint) {
    uint total = 0;
    for(uint i = 0; i < fixedArr.length; i++) {
        total += fixedArr[i];
    }
    return total;
}

固定長度數(shù)組無法修改數(shù)組長度,否則編譯直接會報錯:

TypeError: Expression has to be an lvalue.
fixedArr.length = len;

但可對數(shù)組中的值進行修改。

function updateValue(uint index,uint value) public {
    fixedArr[index] = value;
}
可變長度數(shù)組

可變長度類型數(shù)組的聲明:

uint[] unfixedArr = [1,2,3,4,5];
// 或
uint[] unfixedArr;

可變長度數(shù)組也可通過同樣的方法進行遍歷求和:

// 通過for循環(huán)計算數(shù)組值的總和
function sum() public view returns (uint) {
    uint total = 0;
    for(uint i = 0; i < unfixedArr.length; i++) {
        total += unfixedArr[i];
    }
    return total;
}

其中第二種情況未聲明數(shù)組內(nèi)容時,可通過直接通過push向數(shù)組中添加值,或初始化一個數(shù)組然后再賦值。

unfixedArr.push(1);
或
unfixedArr = new uint[](1); 
unfixedArr[0] = 0;

其中第二種方法通過索引進行設(shè)置值時,該數(shù)組必須先被初始化,否則會拋出異常。

動態(tài)數(shù)組獲取長度方式與靜態(tài)數(shù)組一直,但動態(tài)數(shù)組可以直接修改數(shù)組長度,而不會出現(xiàn)編譯不通過的情況。

unfixedArr.length = len;

上面已經(jīng)可以看到,可以通過push方法向動態(tài)數(shù)組中添加元素。

原文鏈接:https://www.choupangxia.com/2...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75760.html

相關(guān)文章

  • 智能合約語言Solidity教程系列5 - 數(shù)組介紹

    摘要:還需注意的一點是,定長數(shù)組,不能與變長數(shù)組相互賦值,我們來看下面的代碼無法編譯已經(jīng)計劃在未來移除這樣的限制。的變長數(shù)組,可以通過給賦值調(diào)整數(shù)組長度。的變長數(shù)組不支持。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:智能合約語言Solidity教程系列5 - 數(shù)組介紹原文已更新,請讀者前往原文閱讀 Solidity 教程系列第5篇 - Solidity 數(shù)組介紹。Solidity 系列完整的文章...

    draveness 評論0 收藏0
  • 智能合約語言Solidity教程系列1 - 類型介紹

    摘要:本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接智能合約語言教程系列地址類型介紹原文已更新,請讀者前往原文閱讀現(xiàn)在的中文文檔,要么翻譯的太爛,要么太舊,決定重新翻譯下。枚舉類型應(yīng)至少有一名成員。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:智能合約語言 Solidity 教程系列2 - 地址類型介紹原文已更新,請讀者前往原文閱讀 現(xiàn)在的Solidity中文文檔,要么翻譯的太爛,要么太舊,決定重新翻譯下。...

    andycall 評論0 收藏0
  • solidity的delete操作匯總

    摘要:刪除枚舉類型時,會將其值重置為序號為的值。刪除結(jié)構(gòu)體刪除結(jié)構(gòu)體,會將所有成員變量置為初值。刪除數(shù)組對于定長數(shù)組,刪除時,是將數(shù)組內(nèi)所有元素置為初值。注意事項刪除的本質(zhì)是初始化變量。但可對其引用的對象進行操作。 簡介 Solidity中的特殊操作符delete用于釋放空間,為鼓勵主動對空間的回收,釋放空間將會返還一些gas。 delete操作符可以用于任何變量,將其設(shè)置成默認值0。 刪除...

    Eminjannn 評論0 收藏0

發(fā)表評論

0條評論

tinysun1234

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<