1. 数组 (Array)
- Solidity 中的数组是一种用于存储一组相同类型数据的变量类型。
- 数组分为固定长度数组和可变长度数组两种类型。
固定长度数组
uint[8] array1;
bytes1[5] array2;
address[100] array3;
可变长度数组
uint[] array4;
bytes1[] array5;
address[] array6;
bytes array7;
- 对于动态数组,可以使用
new 操作符创建,但必须指定长度。
uint[] memory array8 = new uint[](5);
bytes memory array9 = new bytes(9);
2. 结构体 (Struct)
- 结构体是一种用户自定义的数据类型,用于定义一个包含多个成员变量的复合数据类型。
struct Student {
uint256 id;
uint256 score;
}
方法1:在函数中创建一个 storage 的结构体引用。
function initStudent1() external {
Student storage _student = student;
_student.id = 11;
_student.score = 100;
}
方法2:直接引用状态变量的结构体。
function initStudent2() external {
student.id = 1;
student.score = 80;
}
- 结构体可以包含不同类型的成员变量,提供了一种灵活的数据组织方式。