Vec<T>
读作'vector(矢量)', 相连可增长数组类型.
矢量(vector)数组可以存在任意数量的相同类型(T)的数值. 矢量(vector)数组存储在内存堆(heap)上, 在运行时(runtime)可以增加或减少数组长度.
创建
let v: Vec<i32> = Vec::new();
let v = vec![1, 2, 3]; // i32 values
更新
通过push
方法增加数组. 注意, 需要用mut
声明该数组是可以修改的, 之后才能调用push
方法.
let mut v = Vec::new();
v.push(5);
v.push(6);
v.push(7);
销毁drop
离开所在的作用域(scope), 该数组变量自动销毁, 数组内的说有数值也一同销毁.
{
let v = vec![1, 2, 3, 4];
// do stuff with v
} // <- v goes out of scope and is freed here
读取
通过索引和get
方法获取内部数据的引用(reference):
- &v[index]
- pub fn get<I>(&self, index: I) -> Option<&<I as Sl