MST
星途 面试题库

面试题:Rust中特征与生命周期在函数参数中的应用

假设有一个结构体`MyStruct`,包含一个字符串切片成员。现在要定义一个特征`MyTrait`,其中有一个方法`print_info`,该方法接收`MyStruct`实例作为参数并打印字符串切片内容。请写出这个特征定义及实现,同时要处理好生命周期问题,确保代码能正确编译。
24.8万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
// 定义结构体
struct MyStruct<'a> {
    strings: &'a [&'a str],
}

// 定义特征
trait MyTrait {
    fn print_info(&self, my_struct: &MyStruct<'_>);
}

// 实现特征
impl MyTrait for () {
    fn print_info(&self, my_struct: &MyStruct<'_>) {
        for s in my_struct.strings {
            println!("{}", s);
        }
    }
}