MST

星途 面试题库

面试题:Rust 关联函数与关联类型的基础应用

在Rust中,假设有一个结构体 `Rectangle`,请定义一个关联函数来创建 `Rectangle` 的实例,该实例的长和宽由传入的参数决定。同时,为 `Rectangle` 定义一个关联类型 `AreaType`,并实现一个关联函数来计算矩形的面积,返回类型为 `AreaType`。
23.4万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
struct Rectangle {
    width: u32,
    height: u32,
}

impl Rectangle {
    // 创建Rectangle实例的关联函数
    fn new(width: u32, height: u32) -> Self {
        Self { width, height }
    }

    // 关联类型
    type AreaType = u32;

    // 计算矩形面积的关联函数
    fn area(&self) -> Self::AreaType {
        self.width * self.height
    }
}