通用功能

通用函数允许对其部分或全部参数进行参数化。

fn convert_values<T, U>(input_value: T) -> Result<U, String> {
  // Try and convert the value.
  // Actual code will require bounds on the types T, U to be able to do something with them.
}

如果编译器无法推断出类型参数,则可以在调用时手动提供:

let result: Result<u32, String> = convert_value::<f64, u32>(13.5);