编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

「干货」区块链技术分享:Solidity语言(三)

wxchong 2024-09-25 23:21:43 开源技术 11 ℃ 0 评论

上一次我们说到了Solidity语言中的结构体,今天我们说一下Solidity中的数组。

数组是可以在编译时固定大小的(静态的),也可以不固定大小(动态的)。对于存储器数组来说,成员类型可以是任意的(也可以是其他数组,映射或结构)。

以下是数组声明时语法:

我们也可以声明结构体数组,如我们上一次创建的结构体Demo

公共数组:

你可以定义public数组,Solidity会自动创建getter方法,语法如下:

其他的合约可以从这个数组中读取数据但不能写入数据,所以这个合约中是一个有用的保存公共数据的模式。

使用结构体和数组

创建一个新的Demo结构,然后将它加入到demos的数组中

使用push函数在数组尾部添加新元素,元素在数组中的顺序就是我们添加时的顺序

length: 总有一个称作length的成员(函数)来存放元素的数量。动态数组可以通过改变.length成员(函数),在存储器里来调整大小(不是在内存中)。当试图访问现有长度之外的成员时,这并不是自动被许可的。(数组)一旦创建,内存里的数组大小是固定的(如果是动态的数组,则取决于运行时参数)。

数组和结构体的分享就到这里,大家可以自行发挥使用结构体添加到数组中生成一个学生表/职工表等。

感兴趣的话,那就赶紧收藏起来吧!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表