最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Solidity開發(fā)基礎(chǔ)——數(shù)組

2023-07-12 21:25 作者:隨享ISUIXIANG  | 我要投稿

基本概念

Solidity中關(guān)于數(shù)組的定義如下:

  • 數(shù)組是存儲(chǔ)相同數(shù)據(jù)類型的固定元素集合的數(shù)據(jù)結(jié)構(gòu);

  • 數(shù)組可以在聲明時(shí)指定長度,也可以動(dòng)態(tài)調(diào)整大?。ㄩL度);

  • 數(shù)組具有連續(xù)的內(nèi)存位置,通過索引訪問數(shù)組中的元素,索引從0開始;

  • 數(shù)組元素可以是任何有效的Solidity數(shù)據(jù)類型,包括映射或結(jié)構(gòu)體。

創(chuàng)建數(shù)組

聲明語法

創(chuàng)建數(shù)組的語法如下:

數(shù)組類型

定長數(shù)組

指數(shù)組的大小需要在聲明時(shí)預(yù)定義,元素的總數(shù)不應(yīng)該超過數(shù)組的大小。如果數(shù)組在聲明時(shí)沒有進(jìn)行初始化,則數(shù)組中元素為默認(rèn)值(如對于存儲(chǔ)整型值的數(shù)組,其元素的默認(rèn)值為0)。

定長數(shù)組的聲明與初始化有以下兩種方法:

數(shù)組 a 定義了3個(gè)元素,并初始化為 [1, 2, 3],即 a[0] = 1, a[1] = 2, a[2] = 3。

數(shù)組 b 定義了3個(gè)元素,所有元素初始化為0,即指定數(shù)據(jù)類型的默認(rèn)值。

動(dòng)態(tài)數(shù)組

聲明數(shù)組時(shí),數(shù)組的大小沒有預(yù)定義。數(shù)組的大小隨元素的添加會(huì)改變,在運(yùn)行時(shí)數(shù)組的大小將被確定。

動(dòng)態(tài)數(shù)組的聲明如下:

動(dòng)態(tài)數(shù)組由于沒有指定數(shù)組長度,所以沒有初始化值。

內(nèi)存數(shù)組

可使用 new 關(guān)鍵字在內(nèi)存(memory)中基于運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建固定長度的數(shù)組。與 存儲(chǔ)(storage)數(shù)組相反的是,你不能通過修改成員變量 .push 改變內(nèi)存(memory)數(shù)組的大小,即內(nèi)存數(shù)組創(chuàng)建后的長度是固定的。

創(chuàng)建內(nèi)存數(shù)據(jù)的語法如下:

動(dòng)態(tài)數(shù)組中的元素總是以默認(rèn)值初始化。

數(shù)組成員

length

數(shù)組的 length 變量用于檢查數(shù)組中存在的元素的數(shù)量。內(nèi)存數(shù)組的大小在聲明時(shí)是固定的,而如果動(dòng)態(tài)數(shù)組是在運(yùn)行時(shí)定義的,則需要操作長度。

push(x)

數(shù)組的 push 函數(shù)用于在動(dòng)態(tài)數(shù)組中添加新元素。新元素總是添加在數(shù)組的最后一個(gè)位置。如果帶 x 參數(shù)則向數(shù)組添加給定值的元素,并且沒有返回。如果不帶 x 參數(shù)則向數(shù)組添加初始化元素,并返回元素的引用。

pop()

數(shù)組的 pop 函數(shù)用于從動(dòng)態(tài)數(shù)組的末尾移除元素,并在移除的元素上隱含調(diào)用 delete。

合約例子

例子1

數(shù)組的聲明及基本操作。

輸出 :我們在Remix中編譯、部署和運(yùn)行上面的合約例子,執(zhí)行結(jié)果如下圖:

數(shù)組基本操作

例子2

移除動(dòng)態(tài)數(shù)組中的元素(元素從右向左移動(dòng)),并改變數(shù)組長度。

輸出: 我們在Remix中編譯、部署和運(yùn)行上面的合約例子,執(zhí)行結(jié)果如下圖:

動(dòng)態(tài)數(shù)組操作


Solidity開發(fā)基礎(chǔ)——數(shù)組的評論 (共 條)

分享到微博請遵守國家法律
肇源县| 芷江| 汪清县| 军事| 武威市| 特克斯县| 安多县| 班戈县| 福鼎市| 乌拉特中旗| 许昌县| 报价| 德保县| 武鸣县| 浦城县| 筠连县| 桐柏县| 涡阳县| 甘德县| 蓝山县| 乌兰察布市| 江山市| 班戈县| 吉木乃县| 杭锦旗| 田东县| 阿拉善左旗| 太仆寺旗| 新源县| 上饶市| 措美县| 呼和浩特市| 富宁县| 依兰县| 兰考县| 当雄县| 武安市| 宁海县| 西平县| 剑阁县| 梁河县|