MST

星途 面试题库

面试题:Rust中如何为自定义结构体实现Display trait并处理泛型类型

假设你有一个自定义结构体`Pair<T>`,它包含两个类型为`T`的字段`first`和`second`。请为`Pair<T>`实现`Display` trait,要求在实现中能够正确格式化输出`Pair`的内容,并且当`T`实现了`Display` trait时,`Pair<T>`的格式化输出能正常展示`T`的内容。请写出完整的Rust代码。
37.9万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use std::fmt;

struct Pair<T> {
    first: T,
    second: T,
}

impl<T: fmt::Display> fmt::Display for Pair<T> {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "({}, {})", self.first, self.second)
    }
}