以下是一些有关向量的基本操作:
创建向量:
fn main() {
// 使用 vec! 宏创建向量
let mut numbers = vec![1, 2, 3, 4, 5];
// 使用新元素追加到向量
numbers.push(6);
numbers.push(7);
// 使用 `println!` 宏打印向量的内容
println!("{:?}", numbers);
}
访问元素:
fn main() {
let numbers = vec![10, 20, 30];
// 使用索引访问向量的元素
let first = numbers[0];
let second = numbers[1];
// 使用 `get` 方法避免越界错误
if let Some(third) = numbers.get(2) {
println!("First: {}, Second: {}, Third: {}", first, second, third);
} else {
println!("Third element does not exist");
}
}
迭代:
fn main() {
let numbers = vec![1, 2, 3, 4, 5];
// 使用 for 循环迭代向量
for num in &numbers {
println!("Number: {}", num);
}
}
修改元素:
fn main() {
let mut numbers = vec![10, 20, 30];
// 使用索引修改向量的元素
numbers[1] = 25;
// 使用迭代器和 `enumerate` 方法修改元素
for (index, num) in numbers.iter_mut().enumerate() {
*num += index as i32;
}
println!("{:?}", numbers);
}
删除元素:
fn main() {
let mut numbers = vec![1, 2, 3, 4, 5];
// 使用 `pop` 方法删除末尾元素
if let Some(last) = numbers.pop() {
println!("Removed last element: {}", last);
}
// 使用 `remove` 方法删除指定索引的元素
if let Some(removed) = numbers.remove(1) {
println!("Removed element at index 1: {}", removed);
}
println!("{:?}", numbers);
}
向量在 Rust 中是非常常用的数据结构,由于其动态可增长的特性,非常适用于存储和操作变长数据集合。
转载请注明出处:http://www.zyzy.cn/article/detail/6799/Rust