Solidity进阶之路:搭建僵尸工厂 - 第6章: 数组

Solidity Path: Beginner to Intermediate Smart Contracts

课程链接:https://cryptozombies.io/zh/lesson/1

你认为你可以当一个合格的 CryptoZombie, 嗯?
这个教程会教你如何搭建一个以太网的游戏。
此课程为 Solidity 初学者设计,需要你对其他的程序语言有所了解(如 JavaScript)。

第6章: 数组

如果你想建立一个集合,可以用_数组_这样的数据类型。Solidity支持两种数组:_静态_数组和_动态_数组:

// 固定长度为2的静态数组:
uint[2] fixedArray;
// 固定长度为5string类型的静态数组:
string[5] stringArray;
// 动态数组,长度不固定,可以动态添加元素:
uint[] dynamicArray;

你也可以建立一个结构体类型的数组,例如,上一章提到的 Person:

Person[] people; // 这是动态数组,我们可以不断添加元素

记住:状态变量被永久保存在区块链中。所以在你的合约中创建动态数组来保存结构体数据是非常有意义的。

公共数组

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

Person[] public people;

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

你可能感兴趣的:(Solidity,Path,区块链,以太坊,智能合约)