Rust 教程 目录

Rust 结构体

定义结构体

在 Rust 中,你可以使用 struct 关键字来定义一个结构体。结构体是一种用户自定义的数据类型,可以包含多个不同类型的字段。

上述代码定义了一个名为 User 的结构体,它有四个字段:usernameemailsign_in_countactive。每个字段都有一个类型注解。

创建实例

要创建结构体的实例,只需提供与结构体字段相匹配的值:

在这个例子中,我们创建了一个 User 类型的变量 user1,并初始化了它的所有字段。

可选字段

在某些情况下,你可能希望结构体的某些字段是可选的。这可以通过使用 Option<T> 类型来实现:

-- -------------------- ---- -------
----------------
------ --------- -
    ------ ----
    ------- ------------
-

--- ----- - --------- - ------ --- ------- -------- --
--- ----- - --------- - ------ --- ------- ---- --

----------------- -------
----------------- -------

在这个例子中,我们定义了一个名为 Rectangle 的结构体,并且 height 字段是一个可选字段。我们可以为 height 字段提供一个 Some(u32) 值或 None 值。

元组结构体

元组结构体是一种特殊的结构体,它没有命名字段,而是通过位置来访问其字段:

在这个例子中,我们定义了两个元组结构体 ColorPoint。它们分别表示颜色和点,但它们都是通过位置来访问字段的。

单元结构体

单元结构体是一种没有任何字段的结构体。它们通常用于实现 trait:

在这个例子中,我们定义了一个名为 Nil 的单元结构体,并创建了一个 Nil 类型的实例。

更新语法

当你需要创建一个与现有结构体实例非常相似的新实例时,可以使用更新语法:

-- -------------------- ---- -------
--- ----- - ---- -
    --------- --------------------------------
    ------ ------------------------------------
    -------------- --
    ------- -----
--

--- ----- - ---- -
    ------ -----------------------------------------
    -------
--

---------------- ------- -------
---------------- ------- -------

在这个例子中,我们创建了一个新的 User 实例 user2,并将 user1 的其余部分复制到 user2 中。

结构体方法

你可以在结构体上定义方法。方法是具有特殊形式的函数,其中 self 参数是第一个参数:

-- -------------------- ---- -------
------ --------- -
    ------ ----
    ------- ----
-

---- --------- -
    -- ----------- -- --- -
        ---------- - -----------
    -
-

--- ----- - --------- - ------ --- ------- -- --
------------- ---- -- --- --------- -- -- ------ --------- --------------

在这个例子中,我们在 Rectangle 结构体上定义了一个名为 area 的方法,该方法计算矩形的面积。

关联函数

关联函数不是方法,因为它们不接受 self 作为参数。它们通常用于构造结构体的实例:

在这个例子中,我们定义了一个名为 square 的关联函数,该函数返回一个新的 Rectangle 实例,其宽度和高度相同。

以上是关于 Rust 结构体的详细内容。通过这些示例,你应该能够理解如何定义、实例化和操作结构体。

上一篇: Rust 使用标准库
下一篇: Rust 定义结构体
纠错
反馈