数据类型是编写智能合约的基础。Solidity支持多种数据类型,包括基本数据类型、数组、结构体、枚举、映射等。
基本数据类型包括:
数组:
结构体:结构体可以用来存储多个不同数据类型的数据。
枚举:枚举类型可以让你定义一个固定的常数集合,每个常数都有一个名称。
映射:映射类型可以将键映射到值,类似于数据字典。
下面是 Solidity 中常用的数据类型示例:
// 布尔类型
bool isValid;
// 整型
// int8、int16、int24、int32、int64 分别对应 8、16、24、32、64 位整数
int8 num1 = -128;
int16 num2 = -32768;
int32 num3 = -2147483648;
int64 num4 = -9223372036854775808;
// 无符号整型
// uint8、uint16、uint24、uint32、uint64 分别对应 8、16、24、32、64 位无符号整数
uint8 num5 = 255;
uint16 num6 = 65535;
uint32 num7 = 4294967295;
uint64 num8 = 18446744073709551615;
// 字符串
string text = "Hello, World!";
// 字节数组
bytes32 data;
// 元组
tuple(int32, string) person = (28, "John Doe");
// 动态数组
int[] intArray;
// 静态数组
int[3] intStaticArray = [1, 2, 3];
//定义结构体类型变量
struct Person{
string name;
uint age;
}
Person p;
//定义枚举类型变量
enum Color{Red, Green, Blue}
Color c;