Rust 编程中的向量
Rust中的向量就像重新调整大小的数组。它们用于存储相同类型的对象并连续存储在内存中
像Slices一样,它们的大小在编译时是未知的,并且可以相应地增长或缩小。在Rust中用Vec
存储在向量中的数据在堆上分配。
示例
在下面的例子中,一个名为d的向量是使用Vec::new()创建的;Rust提供的功能。
fn main() {
let mut d: Vec = Vec::new();
d.push(10);
d.push(11);
println!("{:?}", d);
d.pop();
println!("{:?}", d);
}我们使用push()函数将元素推入向量,然后使用函数移除元素pop()。
输出结果
[10, 11] [10]
Rust还为我们提供了另一种创建向量的方法。我们可以不使用Vec::new()函数,而是使用vec!宏。
示例
fn main() {
let v = vec![1,2,3];
println!("{:?}",v);
}输出结果[1, 2, 3]
上面的向量是不可变的,如果我们尝试改变它的一些值,那么我们会得到一个错误。
示例
fn main() {
let v = vec![1,2,3];
println!("{:?}",v);
v[0] = 99;
println!("{:?}",v);
}输出结果 |
4 | let v = vec![1,2,3];
| - help: consider changing this to be mutable: `mut v`
5 | println!("{:?}",v);
6 | v[0] = 99;
| ^ cannot borrow as mutable我们可以通过在我们定义的向量名称前面添加mut关键字来使其可变。
示例
fn main() {
let mut v = vec![1,2,3];
println!("{:?}",v);
v[0] = 99;
println!("{:?}",v);
}输出结果[1, 2, 3] [99, 2, 3]
最后要记住,只要向量的长度超过容量,向量的容量就会自动增加。
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短