在最近看到的Solidity语言里面的数组的定义和之前学的稍有不同,记录一下。
下面是在单个合约里的情形,这些数组只能在test合约中被访问。
pragma solidity ^0.4.19;
contract test {
// 固定长度为2的静态数组:
uint[2] fixedArray;
// 固定长度为5的string类型的静态数组:
string[5] stringArray;
// 动态数组,长度不固定,可以动态添加元素:
uint[] dynamicArray;
}
然后是公共数组,这个数组可以被test合约之外的其他合约读取
contract test {
Person[] public people;
}
另外,solidity里的数组有一个push方法,效果和python中的append类似
uint[] public a;
a.push(1);
a.push(2);
a.push(3);
// 此时a=[1, 2, 3]