MST

星途 面试题库

面试题:Rust中组合泛型特征的基本应用

假设你有两个特征 `TraitA` 和 `TraitB`,现在要定义一个新的泛型结构体 `MyStruct<T>`,使得 `T` 同时实现 `TraitA` 和 `TraitB`,请编写相关代码,并在 `main` 函数中创建一个实现了这两个特征的类型实例并使用。
42.0万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试

以下是 Rust 代码实现:

trait TraitA {}
trait TraitB {}

struct MyStruct<T> where T: TraitA + TraitB {
    data: T,
}

impl<T> MyStruct<T> where T: TraitA + TraitB {
    fn new(data: T) -> Self {
        Self { data }
    }
}

struct MyType;
impl TraitA for MyType {}
impl TraitB for MyType {}

fn main() {
    let my_struct = MyStruct::new(MyType);
    // 这里可以对my_struct进行更多操作
}