The Rust Book有时会说&#34;这里我们需要Vec<T>
&#34;。
这是否意味着&#34; Vector类型的东西?&#34;另外,你会怎么发音 - &#34; vec tee&#34;?
答案 0 :(得分:9)
Vec<T>
表示&#34;项目向量。这些项目的类型为T
&#34;。让我们解开一点......
vector 是一个包含零个或多个相同类型项的数据结构。这些项目有一个订单,您可以通过索引(0,1,...)访问这些项目。您可以添加和删除项目。项目本身存储在连续的堆分配区域中。
T
是常见的泛型类型参数。类型参数允许您编写在特定类型上进行抽象的代码,而无需关心该类型。在此示例中,我们可以创建MyThing
任何类型的内部值:
struct MyThing<T> {
thing: T,
}
此处,T
是一个类型参数,因为它包含在<>
中。它不必是T
,可以是S
或Z
或MyLittlePony
。但是,使用T
作为&#34;类型&#34;的简写是很常见的。使用单字母名称以避免与具体类型名称发生冲突也很常见。
作为人类,我们有时会使用术语稍微快速松散并使用T
,就像我们在数学中使用x
或在编程中使用foo
一样 - 我们不在乎指定的事情。
我会大声发音为&#34; vec tee&#34;或者&#34; tee&#34;的vec,但这是非常主观的。
答案 1 :(得分:2)