MST

星途 面试题库

面试题:Rust中trait扩展方法的基本实现

请简述在Rust中如何为一个已有类型实现trait扩展方法,假设已有一个`Vec<i32>`类型,你需要为它实现一个`custom_sum`的扩展方法,用于计算向量中所有元素的和并返回。请给出具体代码实现。
27.3万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
trait CustomSum {
    fn custom_sum(&self) -> i32;
}

impl CustomSum for Vec<i32> {
    fn custom_sum(&self) -> i32 {
        self.iter().sum()
    }
}

fn main() {
    let v = vec![1, 2, 3];
    let sum = v.custom_sum();
    println!("Sum: {}", sum);
}