MST

星途 面试题库

面试题:Rust泛型结构体与trait约束

定义一个Rust泛型结构体,它包含一个泛型类型的字段。为该结构体实现一个方法,此方法要求泛型类型必须实现`Copy`和`Debug` trait。然后在`main`函数中创建结构体实例并调用该方法,展示如何通过trait约束确保类型安全。
18.6万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

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

// 定义泛型结构体
struct GenericStruct<T> {
    data: T,
}

// 为泛型结构体实现方法,要求泛型类型必须实现Copy和Debug trait
impl<T: Copy + Debug> GenericStruct<T> {
    fn print_data(&self) {
        println!("Data: {:?}", self.data);
    }
}

fn main() {
    // 创建结构体实例
    let num_struct = GenericStruct { data: 42 };
    // 调用方法
    num_struct.print_data();

    let char_struct = GenericStruct { data: 'a' };
    char_struct.print_data();
}