MST

星途 面试题库

面试题:Rust枚举类型的关联值与模式匹配

在Rust中定义一个枚举`Shape`,包含变体`Circle`(关联一个`f64`类型的半径)和`Rectangle`(关联两个`f64`类型的值,分别表示长和宽)。然后编写一个函数`area`,该函数接收`Shape`枚举实例,通过模式匹配计算并返回形状的面积。
44.2万 热度难度
编程语言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,
    }
}