Rust 入门 - Vector

vector 允许我们在一个单独的数据结构中储存多于一个的值,它在内存中彼此相邻地排列所有的值。vector 只能储存相同类型的值。vector 是用泛型实现的

使用

let v: Vec = Vec::new();
let v = vec![1, 2, 3];

可变的

let mut v = Vec::new();
// 添加
v.push(1);
v.push(2);
v.push(3);

读取

let mut v = vec![1, 2, 3, 4, 5];
// 使用索引获取值
let third: &i32 = &v[2];
// v.push(999); 被上面借用,不能push
println!("third = {}", third);
// 使用 get 获取值
match v.get(5) {
    Some(third) => println!("third = {}", third),
    None => println!("There is no third element."),
}

遍历 vector 中的元素

let v = vec![100, 22, 11];
for i in &v {
    println!("{}", i);
}

遍历并修改 vector中的元素

let mut v = vec![11, 22, 33];
for i in &mut v {
    *i = *i + 50; // 引用运算符(*)获取 i 中的值
}
println!("v = {:#?}", v);

使用枚举来储存多种类型

let row = vec![
    SpreadsheetCell::Int(3),
    SpreadsheetCell::Float(999.99),
    SpreadsheetCell::Text(String::from("hello")),
];

println!("row = {:#?}", row);
for r in row {
    println!("{:?}", r);
}


#[derive(Debug)]
enum SpreadsheetCell {
    Int(i32),
    Float(f64),
    Text(String),
}

你可能感兴趣的:(Rust 入门 - Vector)