面试题答案
一键面试- 直接初始化:
- 示例:
let arr = [1, 2, 3];
- 适用场景:当数组元素数量较少且已知,在编译时就明确数组内容的场景。例如,定义一个包含星期几缩写的数组
let weekdays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
,这种方式简单直观,能快速定义固定内容的小数组。
- 示例:
- 使用
[T; n]
语法初始化相同值的数组:- 示例:
let arr = [0; 5];
,这里创建了一个包含5个0的数组。 - 适用场景:当需要创建一个包含大量相同值的数组时非常有用。比如初始化一个用于缓存的数组,初始值都设为0 ,
let buffer = [0u8; 1024];
,表示创建一个长度为1024的字节数组,初始值全为0。
- 示例:
- 通过迭代器初始化:
- 示例:
let arr: [i32; 5] = (0..5).collect::<Vec<i32>>().try_into().unwrap();
- 适用场景:当数组元素的值需要通过某种计算或迭代生成时适用。例如生成一个包含从1到10的平方的数组,可以使用迭代器生成平方值再转换为数组。它提供了灵活性,可以基于各种逻辑生成数组元素。
- 示例: