Icon Link定义物品结构体

Struct是structure的缩写,类似于JavaScript中的对象。您可以使用Sway中的struct关键字定义结构,并在大括号内定义结构的字段。

我们程序的核心是能够列出、出售和获取items

让我们将Item类型定义如下所示写入您的main.sw文件:

struct Item {
    id: u64,
    price: u64,
    owner: Identity,
    metadata: str[20],
    total_bought: u64,
}

item结构体将包含一个ID、价格、所有者的身份、表示物品的链外数据的URL或标识符(例如其描述和照片),以及一个“总购买”计数器,用于跟踪总购买数量。

Icon Link类型

Item结构体使用了三种类型:u64strIdentity

u64:64位无符号整数。

在Sway中,有四种本机数值类型:

  • u8:8位无符号整数。
  • u16:16位无符号整数。
  • u32:32位无符号整数。
  • u64:64位无符号整数。
  • u256:256位无符号整数。

无符号整数表示没有+-符号,使值始终为正。u64是Sway中用于数字的默认类型。

在JavaScript中,有两种类型的整数:numberBigInt。这些类型之间的主要区别是BigInt可以存储更大的值。类似地,Sway中的每种数值类型都有其可以存储的最大值。

String Array:字符串是Sway中的内置原始类型。方括号中的数字表示字符串的大小。

Identity:一种枚举类型,表示用户的AddressContractId。在Sway中,合同和EOA(Externally Owned Account)是明确定义的。它们都是对b256的类型安全包装。