MST

星途 面试题库

面试题:Rust泛型在函数参数中的应用

请用Rust编写一个泛型函数,该函数接受两个相同类型的参数,并返回它们的和。函数需处理整数和浮点数类型。同时解释为什么使用泛型能实现类型安全。
14.2万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn add<T: std::ops::Add<Output = T>>(a: T, b: T) -> T {
    a + b
}

泛型实现类型安全的原因

  1. 编译时检查:泛型在编译时就确定具体类型,编译器能在此时对类型相关的操作进行全面检查。例如,若传递给 add 函数的类型不实现 Add 特质,编译器会报错,确保了类型的正确性。
  2. 避免运行时类型错误:不像动态类型语言在运行时才确定类型,可能会因类型不匹配导致运行时错误。泛型在编译阶段就排除了许多潜在的类型错误,使得程序在运行时更加稳定和安全。
  3. 代码复用与类型安全兼得:通过泛型,我们可以编写一份通用的代码来处理多种类型,而无需为每种类型重复编写类似的函数。同时,编译器确保在使用这些通用代码时,类型的使用是安全且正确的。