网站首页 > 开源技术 正文
上一次我们说到了Solidity语言中的结构体,今天我们说一下Solidity中的数组。
数组是可以在编译时固定大小的(静态的),也可以不固定大小(动态的)。对于存储器数组来说,成员类型可以是任意的(也可以是其他数组,映射或结构)。
以下是数组声明时语法:
我们也可以声明结构体数组,如我们上一次创建的结构体Demo
公共数组:
你可以定义public数组,Solidity会自动创建getter方法,语法如下:
其他的合约可以从这个数组中读取数据但不能写入数据,所以这个合约中是一个有用的保存公共数据的模式。
使用结构体和数组
创建一个新的Demo结构,然后将它加入到demos的数组中
使用push函数在数组尾部添加新元素,元素在数组中的顺序就是我们添加时的顺序
length: 总有一个称作length的成员(函数)来存放元素的数量。动态数组可以通过改变.length成员(函数),在存储器里来调整大小(不是在内存中)。当试图访问现有长度之外的成员时,这并不是自动被许可的。(数组)一旦创建,内存里的数组大小是固定的(如果是动态的数组,则取决于运行时参数)。
数组和结构体的分享就到这里,大家可以自行发挥使用结构体添加到数组中生成一个学生表/职工表等。
感兴趣的话,那就赶紧收藏起来吧!
猜你喜欢
- 2024-09-30 「链块技术39期」以太坊智能合约语言(四):Solidity函数(上)
- 2024-09-30 学习 Solidity 智能合约开发 02:合约
- 2024-09-30 「干货」区块链技术分享:Solidity语言(七)
- 2024-09-30 Solidity的整数(solid size)
- 2024-09-30 了解Solidity语言基础知识(sol语言有哪些特点)
- 2024-09-30 solidity基本数据类型使用、主要关键字学习、address使用
- 2024-09-30 「链块技术36期」以太坊智能合约—Solidity概述和开发工具的使用
- 2024-09-30 区块链研究实验室 | 深入解析Solidity合约
- 2024-09-30 【干货】区块链技术分享:Solidity语言
- 2024-09-30 以太坊2.0进展:存款合约已经从Vyper重写为Solidity语言并重新验证
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)