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 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告