Menu
CoddyTech

数组方法

本课属于 Coddy Rust 学习旅程的“基础知识”单元。第 61 课,共 75 课。

数组包含许多方法(功能)。要调用一个方法,请写:

array.methodName(otherParameters)

以下是基本方法的列表:

  • len():返回数组中的元素数量
  • contains(value):检查数组是否包含特定值
  • is_empty() - 检查数组是否为空
  • reverse() - 反转数组

例如:

let mut numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);

numbers.reverse();
// [50, 40, 30, 20, 10]

is_empty() 方法示例:

let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);

输出结果如下:

Is empty: true

使用 contains 时,你需要使用 & 传入要查找的值的引用。例如:

let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// 输出:Contains 30: true
challenge icon

挑战

简单

创建一个名为 analyze_array 的函数,它接收一个长度为 5 的字符串数组作为参数。该方法应执行以下操作:

  1. 使用 is_empty() 方法检查数组是否为空,并打印结果。
  2. 使用 contains() 方法检查数组是否包含字符串 “5”,并打印结果。记得使用 String,而不是 str:“5”.to_string()
  3. 反转数组并打印它

输出应遵循以下确切格式:

Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...

亲手试试

use std::io;
use std::convert::TryInto;

fn analyze_array(arr: &mut [String; 5]) {
    // 在这里编写代码




    // 逐行打印元素
    for element in arr.iter() {
        println!("{}", element);
    }
}

fn main() {
    let mut input_str_arr = String::new();
    io::stdin().read_line(&mut input_str_arr).unwrap();
    let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
    analyze_array(&mut arr);
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Rust 在线编译器