Rust 编程中的数组
rust programmingserver side programmingprogramming
数组是一种数据结构,用于包含相同类型 T 的对象。这些对象存储在连续的内存位置中。
在 Rust 中,数组是通过使用 [ ] 括号创建的。重要的是,必须在编译时知道数组的大小。此外,与 Java 和 C++ 等其他语言不同,数组的长度是 Rust 中其类型的一部分。
[T; 长度]。
这意味着签名为 [i32,4] 的数组与签名为 [i32,5] 的数组不同。
数组本质上是不可变的,我们可以通过多种方式创建此类数组。
没有数据类型的数组
我们可以创建数组而不为其提供任何特定的数据类型。编译器将自行解释类型。
示例
fn main() { let arr = [1,2,3]; println!("数组为 {:?}", arr); println!("数组的长度为: {}", arr.len()); }
输出:
数组为 [1, 2, 3] 数组的长度为:3
具有数据类型和大小的数组
我们可以定义数组中所需的数据类型以及数组的大小,如下所示:
示例
fn main() { let arr:[i32;4] = [1,2,3,4]; println!("数组为 {:?}", arr); println!("数组的长度为: {}", arr.len()); }
输出:
数组为 [1, 2, 3, 4] 数组长度为:4
默认值类型
如果我们希望数组包含单个默认值,则可以像下面这样执行:
示例
fn main() { let arr:[i32;5] = [1;5]; println!("数组为: {:?}", arr); println!("数组长度为: {}", arr.len()); }
输出:
数组为:[1, 1, 1, 1, 1] 数组长度为:5
Rust 中的可变数组
我们还可以在 Rust 中创建可变数组。请考虑以下示例:
示例
fn main() { let mut arr:[i32;3] = [1,2,3]; println!("原始数组: {:?}",arr); arr[1] = 0; arr[2] = 100; println!("更改后的数组:{:?}",arr); }
输出
原始数组:[1, 2, 3] 更改后的数组:[1, 0, 100]