MST

星途 面试题库

面试题:Rust中write!宏在复杂控制台日志记录场景的应用

假设你正在开发一个程序,需要记录不同级别的日志(如DEBUG, INFO, ERROR)到控制台。请使用write!宏实现一个日志记录函数`log_message`,它接受日志级别和消息内容作为参数,并以`[日志级别] 消息内容`的格式输出到控制台,例如`[INFO] Program started`。日志级别可以用枚举来表示。
16.4万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
enum LogLevel {
    DEBUG,
    INFO,
    ERROR,
}

fn log_message(level: LogLevel, message: &str) {
    let level_str = match level {
        LogLevel::DEBUG => "DEBUG",
        LogLevel::INFO => "INFO",
        LogLevel::ERROR => "ERROR",
    };
    write!(std::io::stdout(), "[{}] {}", level_str, message).unwrap();
    std::io::stdout().flush().unwrap();
}