MST

星途 面试题库

面试题:Rust结构体方法设计之泛型与生命周期

定义一个泛型结构体 `Pair<T>`,包含两个字段 `first` 和 `second`,类型都是 `T`。为 `Pair<T>` 实现一个方法 `cmp_display`,该方法需要满足以下条件:如果 `T` 实现了 `PartialOrd` 和 `Display` 特征,此方法比较 `first` 和 `second` 的大小,并打印出较大的值;如果 `T` 未实现这些特征,编译应失败。请使用泛型约束和生命周期标注完成该方法的设计。
32.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use std::fmt::Display;

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

impl<T: PartialOrd + Display> Pair<T> {
    fn cmp_display(&self) {
        if self.first >= self.second {
            println!("{}", self.first);
        } else {
            println!("{}", self.second);
        }
    }
}