Skip to content
On this page

结构体

结构体就是自定义数据类型,允许我们命名多个相关的值然后组合成有机整体。

使用起来非常简单:

rust
fn main() {
    let user = User {
        name: String::from("AkaraChen"),
        nickname: String::from("AKRC"),
        active: true
    };
}

struct User {
    name: String,
    nickname: String,
    active: bool
}

还有种元组结构体:

rust
fn main() {
    let color = Color(20, 20, 20);
}

struct Color(i32, i32, i32);

我们可以对结构体添加 mut,但是这样会让所有的值都可访问,Rust 不支持定义其中的哪个属性不可修改。

添加方法

rust
struct Rectangle {
    width: i32,
    height: i32
}

impl Rectangle {
    fn area(&self) -> i32 {
        self.width * self.height
    }
}

在方法上传入一个 &self 就能成为方法,访问 &self 就能访问实例,当然也可以添加 &mut self,就像函数那样。

关联函数

在 OOP 语言里我们一般称其为构造函数:

rust
fn from(width: i32, height: i32) -> Rectangle {
    Rectangle {
        width,
        height,
    }
}

然后我们就可以用 Rectangle::from() 来创建构造函数了。

Released under the MIT License.