离线下载
PDF版 ePub版

极客学院团队出品 · 更新于 2018-06-19 14:01:25

向量

一个‘向量’是一个动态的或者‘可增长的’数组,作为标准库类型 Vec<T>来实现。T 表示我们可以有任何类型的向量(更多信息,请参照泛型的章节)。向量总是在堆上分配它们的数据。你可以使用 vec! 宏来创建它们:

let v = vec![1, 2, 3, 4, 5]; // v: Vec<i32>

(注意,与在之前我们使用的 println! 宏不同,对于 vec! 宏我们使用方括号 []。Rust 允许您在两种情况下使用,这只是个约定。)

对于重复一个初始值,这里有 vec! 的另一种形式:

let v = vec![0; 10]; // ten zeroes

访问元素

若要获取在向量中的特定索引处的值,我们使用 []

let v = vec![1, 2, 3, 4, 5];

println!("The third element of v is {}", v[2]);

由于指数从 0 开始,所以第三个元素是 v[2]

循环访问

一旦你有了一个向量,你可以通过 for 来遍历它的元素。这里有三个版本:

let mut v = vec![1, 2, 3, 4, 5];

for i in &v {
println!("A reference to {}", i);
}

for i in &mut v {
println!("A mutable reference to {}", i);
}

for i in v {
println!("Take ownership of the vector and its element {}", i);
}

向量有许多更有用的方法,你可以在它们的 API 文档中读到。

上一篇: 方法语法 下一篇: 字符串