let v: Vec<i32> = Vec::new();
let v = vec![1, 2, 3];
更新Vec
let mut v = Vec::new();
v.push(1);
读取Vec
let v = vec![1, 2, 3, 4];
let third: &i32 = &v[2]; //非法访问会报错 Panic
match v.get(2){//非法访问不会报错,返回None
Some(third) => println!("The third element is {}", third);
None => println!("There is no third element");
}
所有权和借用规则
let mut v = vec![1, 2, 3, 4, 5];
let first = &v[0]; //不可变借用
v.push(6); //可变借用
println!("The first element is {}", first); //不可变借用
//程序报错,不符合借用规则,同一个作用域只能存在一个可变借用
遍历Vec
let v = vec![1, 2, 3];
for i in &v{
println!("{}", i);
}