泛型
泛型是将类型和功能推广到更广泛情况的主题。这对于在许多方面减少代码重复非常有用,但可能需要相当复杂的语法。 也就是说,要保持泛型,需要非常小心地指定泛型类型实际上在哪些类型上被认为是有效的。 泛型最简单和最常见的用途是用于类型参数。
类型参数通过使用尖括号和上驼峰式命名法指定为泛型:<Aaa, Bbb, ...>
。“泛型类型参数”通常表示为 <T>
。在 Rust 中,“泛型”也描述接受一个或多个泛型类型参数 <T>
的任何内容。任何指定为泛型类型参数的类型都是泛型,其他所有类型都是具体的(非泛型)。
例如,定义一个名为 foo
的泛型函数,它接受任何类型的参数 T
fn foo<T>(arg: T) { ... }
因为 T
已使用 <T>
指定为泛型类型参数,所以在此处用作 (arg: T)
时,它被认为是泛型的。即使 T
之前已定义为 struct
,也是如此。
此示例展示了一些实际应用的语法