Rust 程式設計中的向量
Rust 中的向量類似於可調整大小的陣列。它們用於儲存同類型的物件,並且連續儲存在記憶體中
與切片類似,它們的大小在編譯時未知,並且可以相應地增長或縮小。它在 Rust 中表示為 Vec<T>
儲存在向量中的資料是在堆中分配的。
示例
在下面的示例中,使用 Rust 提供的 Vec::new(); 函式建立了一個名為 d 的向量。
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!宏 而不是 Vec::new() 函式。
示例
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]
最後,應記住,當向量的長度超過容量時,向量的容量將自動增加。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP