在 Rust 中,结构体(Struct)是一种用于定义自定义数据类型的机制。结构体允许你组合不同类型的数据,并为整体赋予一个名字。以下是 Rust 结构体的基本语法:
// 定义一个结构体
struct Point {
    x: f64,
    y: f64,
}

// 创建结构体的实例
let origin = Point { x: 0.0, y: 0.0 };

// 访问结构体的字段
println!("x = {}, y = {}", origin.x, origin.y);

在这个例子中,Point 是一个结构体,包含两个字段 x 和 y,分别表示点的横坐标和纵坐标。origin 是一个 Point 结构体的实例,通过 Point { x: 0.0, y: 0.0 } 进行初始化。

结构体的字段可以包含各种数据类型,包括基本类型、其他结构体、枚举等。你还可以定义具有命名字段的元组结构体和不带字段名的单元结构体。
// 具有命名字段的元组结构体
struct Color(u8, u8, u8);

// 不带字段名的单元结构体
struct UnitStruct;

结构体可以具有方法,这些方法用于在结构体上执行操作。例如:
struct Rectangle {
    width: u32,
    height: u32,
}

impl Rectangle {
    // 计算矩形的面积
    fn area(&self) -> u32 {
        self.width * self.height
    }
}

fn main() {
    let rect = Rectangle { width: 10, height: 20 };
    println!("Area: {}", rect.area());
}

在上述例子中,Rectangle 结构体有一个方法 area,用于计算矩形的面积。方法的第一个参数是 &self,表示该方法在结构体的实例上被调用。

通过结构体,Rust 提供了一种组织和抽象数据的方式,让你能够更灵活地管理和操作数据。


转载请注明出处:http://www.zyzy.cn/article/detail/13725/Rust