MST

星途 面试题库

面试题:Rust中枚举类型的基本创建及模式匹配

在Rust中,创建一个表示几何形状的枚举 `Shape`,包含 `Circle`(需要半径 `f64` 作为关联数据)、`Rectangle`(需要长和宽 `f64` 作为关联数据)。然后编写一个函数 `area`,接收 `Shape` 作为参数,通过模式匹配计算并返回不同形状的面积。
47.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
// 定义表示几何形状的枚举
enum Shape {
    Circle(f64),
    Rectangle(f64, f64),
}

// 计算不同形状面积的函数
fn area(shape: &Shape) -> f64 {
    match shape {
        Shape::Circle(radius) => std::f64::consts::PI * radius * radius,
        Shape::Rectangle(length, width) => length * width,
    }
}