首页 > 解决方案 > Rust 如何让函数接受大小为 n 的列表?

问题描述

fn function_name(the_list: ?) {
    // do something
    println!("{}",the_list);
}

fn main() {
    let data = [5,20,18,30,9,7,12,40]; // where data size is n
    let result = function_name(&data);
}

我在这里有一个非常简单的函数,我想将一个大小为 n 的列表传递给它。我查看了文档,只找到了大小已知的列表的解决方案,这不是我想要的。

我该如何解决这个问题?

标签: rust

解决方案


fn function_name(the_list: &[i32]) {
    // do something
    println!("{:?}",the_list);
}

fn main() {
    let data = [5,20,18,30,9,7,12,40]; // where data size is n
    let result = function_name(&data);
}

//output: [5, 20, 18, 30, 9, 7, 12, 40]

解决方案是让函数接受一般的 [i32] 列表类型。如果输入的大小为 n,则不必写入列表输入的长度。


推荐阅读