MST

星途 面试题库

面试题:Rust枚举自定义数据类型及模式匹配应用

定义一个Rust枚举`TrafficLight`,包含`Red`、`Yellow`、`Green`三个变体。编写一个函数`next_light`,接受一个`TrafficLight`枚举实例作为参数,通过模式匹配返回下一个状态的`TrafficLight`枚举实例。例如,输入`Red`返回`Green`,输入`Green`返回`Yellow`,输入`Yellow`返回`Red`。请给出函数实现代码。
35.3万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
enum TrafficLight {
    Red,
    Yellow,
    Green,
}

fn next_light(current: TrafficLight) -> TrafficLight {
    match current {
        TrafficLight::Red => TrafficLight::Green,
        TrafficLight::Green => TrafficLight::Yellow,
        TrafficLight::Yellow => TrafficLight::Red,
    }
}