MST

星途 面试题库

面试题:Rust中类型别名在函数参数中的应用

在Rust中,定义一个类型别名 `MyType` 代表 `Vec<i32>`,然后编写一个函数,它接受 `MyType` 作为参数,并返回该 `Vec<i32>` 中所有元素的和。请写出完整代码并解释类型别名在这里的作用。
29.3万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
type MyType = Vec<i32>;

fn sum_of_mytype(vec: MyType) -> i32 {
    vec.iter().sum()
}

类型别名的作用

  1. 简化代码:通过定义 MyType 作为 Vec<i32> 的别名,在代码中使用 MyType 可以使代码更简洁,特别是当 Vec<i32> 在多处出现时。例如,在函数签名中,MyTypeVec<i32> 更简短,提高了代码的可读性。
  2. 便于维护:如果后续需要更改底层的实际类型,例如将 Vec<i32> 替换为其他类型,只需要修改类型别名定义处,而无需在所有使用该类型的地方逐一修改。例如,如果要将 Vec<i32> 替换为 HashSet<i32>,只需要修改 type MyType = HashSet<i32>; 这一行代码,函数 sum_of_mytype 的签名和实现都不需要修改。