📜  striuct 中的 rust 数组 - Rust (1)

📅  最后修改于: 2023-12-03 15:05:23.305000             🧑  作者: Mango

Rust中的数组

数组是一个容纳固定数量元素的集合。与其他编程语言不同,Rust的数组是固定长度的,这意味着一旦数组被声明,就不能添加或删除元素。

创建数组

要创建一个数组,需要使用方括号([])括起来的元素列表,每个元素之间用逗号(,)分隔。数组类型的写法是:初始化列表的左边是类型标识符,后面跟着方括号。

let arr: [i32; 5] = [1, 2, 3, 4, 5];

这声明了一个包含5个i32类型元素的数组。中括号里的数字是数组的长度。如果你尝试在数组声明后添加或删除元素,将会在编译阶段产生错误。

Rust还提供了一种简单的初始化数组的方法,称为数组填充。

let arr = [0; 10];

这创建一个包含10个0的整数数组。在这种方法中,数组元素被填充为一个给定的值(0).

访问数组元素

Rust中的数组元素从0开始计数,就像大多数其他编程语言一样。要访问数组中的元素,可以使用方括号并提供索引。

let arr = [10, 20, 30, 40, 50];
let first = arr[0];
let last = arr[4];
println!("First: {}, Last: {}", first, last);

这将输出:

First: 10, Last: 50
数组切片

Rust提供了一种叫做切片的概念。切片是一个数组中某一部分的引用,它允许对切片的部分进行操作而不改变整个数组。

切片由两个索引指定:起始索引和结束索引,中间用两个点(..)分隔。结束索引是排除在外的,这意味着当结束索引等于数组的长度时,将不能访问最后一个元素。

let arr = [10, 20, 30, 40, 50];
let slice = &arr[1..3]; // 包括索引1,但是不包括3
println!("{:?}", slice); // 输出: [20, 30]
迭代数组

可以使用Rust内置的iter方法迭代一个数组。

let arr = [10, 20, 30, 40, 50];
for elem in arr.iter() {
    println!("{}", elem);
}

这将输出:

10
20
30
40
50
总结

Rust中的数组是固定长度的,声明后不能改变大小。数组元素从0开始计数,并可以通过方括号和索引访问。切片是数组的子集,并且允许对数组的部分进行操作。可以使用iter来迭代数组。