Rust 程式設計中的陣列


陣列是一種資料結構,用於包含相同型別T的物件。這些物件儲存在連續的記憶體位置。

在 Rust 中,陣列是透過使用 [ ] 括號建立的。重要的是,陣列的大小必須在編譯時已知。此外,與 Java 和 C++ 等其他語言不同,陣列的長度是 Rust 中其型別的一部分。

[T; length].

這意味著簽名為 [i32,4] 的陣列與簽名為 [i32,5] 的陣列不同。

陣列可以是不可變的,並且有很多方法可以建立這樣的陣列。

沒有資料型別的陣列

我們可以建立陣列,而無需為其提供任何特定的資料型別。編譯器將自行解釋型別。

示例

 線上演示

fn main() {
   let arr = [1,2,3];
   println!("The array is {:?}", arr);
   println!("The length of the array is: {}", arr.len());
}

輸出

The array is [1, 2, 3]
The length of the array is: 3

具有資料型別和大小的陣列

我們可以定義我們希望在陣列中包含的資料型別以及陣列的大小,如下所示

示例

 線上演示

fn main() {
   let arr:[i32;4] = [1,2,3,4];
   println!("The array is {:?}", arr);
   println!("Length of the array is: {}", arr.len());
}

輸出

The array is [1, 2, 3, 4]
Length of the array is: 4

預設值型別

如果我們希望陣列包含單個預設值,則可以像下面所示那樣進行操作

示例

 線上演示

fn main() {
   let arr:[i32;5] = [1;5];
   println!("The array is: {:?}", arr);
   println!("Length of the array is: {}", arr.len());
}

輸出

The array is: [1, 1, 1, 1, 1]
Length of the array is: 5

Rust 中的可變陣列

我們也可以在 Rust 中建立可變陣列。請考慮以下示例

示例

 線上演示

fn main() {
   let mut arr:[i32;3] = [1,2,3];
   println!("Original array: {:?}",arr);
   arr[1] = 0;
   arr[2] = 100;
   println!("Changed array: {:?}",arr);
}

輸出

Original array: [1, 2, 3]
Changed array: [1, 0, 100]

更新於: 2021年4月3日

526 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告