Appearance
数组
数组用来存储一组相同类型的数据,例如数字、字符串或结构体。
示例
下面是一个简单的 Solidity
代码示例,演示如何定义、初始化和访问一个动态数组:
solidity
pragma solidity ^0.8.0;
contract ArrayExample {
uint[] public myArray;
function addToArray(uint _value) public {
myArray.push(_value);
}
function getElement(uint _index) public view returns (uint) {
return myArray[_index];
}
}
在这个合约中,我们定义了一个名为 ArrayExample
的合约,其中包含一个名为 myArray
的动态数组。我们还定义了两个函数:
addToArray
:这个函数用于向数组中添加新的元素。它接受一个类型为uint
的参数,并调用数组的push
函数将其添加到数组的末尾。getElement
:这个函数用于获取数组中指定索引处的元素。它接受一个类型为uint
的参数作为索引,并使用数组名和索引来返回相应位置的元素。
在 Solidity
中,动态数组可以通过 push
函数添加元素并动态扩展,也可以使用 new
关键字在数组定义时指定数组长度。
此外,Solidity
还支持静态数组,即在定义的时候必须明确指定数组长度,并且无法动态扩展。
以下是一个静态数组的例子:
solidity
pragma solidity ^0.8.0;
contract StaticArrayExample {
uint[5] public myArray;
function setElement(uint _index, uint _value) public {
myArray[_index] = _value;
}
function getElement(uint _index) public view returns (uint) {
return myArray[_index];
}
}
在这个合约中,我们定义了一个名为 StaticArrayExample
的合约,其中包含一个名为 myArray
的静态数组。我们还定义了两个函数:
setElement
:这个函数用于在指定的索引处设置数组元素。它接受两个类型为uint
的参数,一个用于指定数组索引,另一个用于设置元素值。getElement
:这个函数用于获取数组中指定索引处的元素。它接受一个类型为uint
的参数作为索引,并使用数组名和索引来返回相应位置的元素。