MST
星途 面试题库

面试题:Rust自定义数据类型的泛型关联类型及特征实现

定义一个特征`trait` `Container`,它具有一个关联类型`Item`。然后创建一个结构体`MyBox`,实现`Container`特征,使得`MyBox`结构体能够存储任意类型的数据,并提供一个方法`get_item`来获取存储的数据。请写出完整的特征定义、结构体定义以及特征实现代码,确保代码在各种类型使用时的正确性和安全性。
32.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
// 定义特征
trait Container {
    type Item;
    fn get_item(&self) -> &Self::Item;
}

// 定义结构体
struct MyBox<T>(T);

// 为MyBox实现Container特征
impl<T> Container for MyBox<T> {
    type Item = T;
    fn get_item(&self) -> &Self::Item {
        &self.0
    }
}