MST
星途 面试题库

面试题:Rust 条件语句结合枚举类型的应用

定义一个枚举类型 `TrafficLight`,包含 `Red`、`Yellow`、`Green` 三个变体。编写一个函数 `traffic_light_action`,接受一个 `TrafficLight` 类型的参数,在函数内部使用条件语句判断,当为 `Red` 时返回 "停止",`Yellow` 时返回 "准备",`Green` 时返回 "通行"。
31.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试

以下以 Rust 语言为例:

// 定义枚举类型TrafficLight
enum TrafficLight {
    Red,
    Yellow,
    Green,
}

// 定义函数traffic_light_action
fn traffic_light_action(light: TrafficLight) -> &'static str {
    match light {
        TrafficLight::Red => "停止",
        TrafficLight::Yellow => "准备",
        TrafficLight::Green => "通行",
    }
}

你可以这样调用函数:

fn main() {
    let red_light = TrafficLight::Red;
    let action = traffic_light_action(red_light);
    println!("{action}");
}

如果是在 Python 中,可以使用 Enum 模块,代码如下:

from enum import Enum

# 定义枚举类型TrafficLight
class TrafficLight(Enum):
    Red = 1
    Yellow = 2
    Green = 3

# 定义函数traffic_light_action
def traffic_light_action(light):
    if light == TrafficLight.Red:
        return "停止"
    elif light == TrafficLight.Yellow:
        return "准备"
    else:
        return "通行"

你可以这样调用函数:

if __name__ == "__main__":
    red_light = TrafficLight.Red
    action = traffic_light_action(red_light)
    print(action)