header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

Solidity極簡入門 | 第五講:引用類型, array, struct

閱讀本文需 6 分鐘
本文介紹solidity中數組(array)和結構體(struct)的基本用法。
原文標題:《 Solidity 極簡入門: 5. 引用類型, array, struct 》
原文作者:0xAA  


我最近在重新學 solidity,鞏固一下細節,也寫一個「Solidity 極簡入門」,供小白們使用(編程大佬可以另找教程),每週更新 1-3 講。


所有代碼開源在 github :github.com/AmazingAng/WTFSolidity


這一講,我們將介紹 solidity 中的兩個重要變量類型:數組(array)和結構體(struct)


數組 array


數組(Array)是 solidity 常用的一種變量類型,用來存儲一組數據(整數,字節,地址等等)。數組分爲固定長度數組和可變長度數組兩種:


固定長度數組:在聲明時指定數組的長度。用 T[k] 的格式聲明,其中 T 是元素的類型,k 是長度,例如:  



可變長度數組:在聲明時不指定數組的長度。用 T[] 的格式聲明,其中 T 是元素的類型,例如(bytes 比較特殊,是數組,但是不用加 []):



創建數組的規則


在 solidity 裏,創建數組有一些規則:


對於 memory 可變長度數組,可以用 new 操作符來創建,但是必須聲明長度,並且長度不能改變。例子:



數組字面常數是寫作表達式形式的數組,並且不會立即賦值給變量,例如 [uint(1),2,3](需要聲明第一個元素的類型,不然默認用存儲空間最小的類型)如果創建的是 dynamic array,你需要一個一個元素的賦值。 



數組成員 


length: 數組有一個包含元素數量的 length 成員,內存數組的長度在創建後是固定的。

push():可變長度數組 和 bytes 擁有 push() 成員,可以在數組最後添加一個 0 元素。

push(x): 可變長度數組 和 bytes 擁有 push(x) 成員,可以在數組最後添加一個 x 元素。

pop: 可變長度數組 和 bytes 擁有 pop 成員,可以移除數組最後一個元素。


結構體 struct


Solidity 支持通過構造結構體的形式定義新的類型。創建結構體的方法:


   

給結構體賦值的兩種方法:



總結


這一講,我們介紹了 solidity 中數組(array)和結構體(struct)的基本用法。下一講我們將介紹 solidity 中的哈希表——映射(mapping)。


原文鏈接  


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交