Solidity 是一种用于编写智能合约的高级编程语言,用于 Ethereum 区块链。在 Solidity 中,理解数据类型是至关重要的,因为它们定义了智能合约可以存储和操作的数据结构。

基本数据类型

以下是 Solidity 中的一些基本数据类型:

  • 布尔型 (bool): 表示真或假的值。
  • 字节型 (bytes): 字节序列,可以包含任意数据。
  • 整数型 (uint, int): 非负整数或任意符号的整数。
  • 固定大小整数型 (uint8, uint256, int8, int256): 固定大小的整数类型。
  • 有符号整数型 (int): 可以表示负数的整数类型。
  • 无符号整数型 (uint): 只能表示非负数的整数类型。
  • 地址型 (address): 表示 Ethereum 地址。
  • 字符串型 (string): 字符串类型。
  • 数组型 (array): 元素列表。
  • 结构体型 (struct): 复合数据类型,可以包含多个字段。

字节型 (bytes)

字节型是一种特殊的数据类型,用于表示任意长度的字节序列。它可以用来存储二进制数据或任何其他类型的序列。

bytes memory b = "Hello, World!";

在上面的代码中,b 是一个内存中的字节型变量,它包含了字符串 "Hello, World!" 的字节序列。

数组型 (array)

数组型是一种可以存储多个相同类型元素的数据结构。Solidity 支持两种类型的数组:固定长度数组和动态长度数组。

固定长度数组

uint[] fixedArray = [1, 2, 3];

在上面的代码中,fixedArray 是一个包含三个整数的固定长度数组。

动态长度数组

uint[] dynamicArray;
dynamicArray.push(1);
dynamicArray.push(2);
dynamicArray.push(3);

在上面的代码中,dynamicArray 是一个动态长度数组,我们通过调用 push 函数向其中添加元素。

结构体型 (struct)

结构体型是一种可以包含多个字段的数据类型。

struct Person {
    string name;
    uint age;
}

在上面的代码中,Person 是一个结构体,它包含两个字段:nameage

链接

要了解更多关于 Solidity 数据类型的信息,请访问我们的 Solidity 数据类型文档

Solidity 图标