如何创建可以作为Rust中的参数传递的字符串数组?

时间:2019-01-28 00:58:24

标签: rust

我已经尝试了多种方法,但这是一个猜测游戏

fn main() {
    let _array: [&'static str; 4] = ["First", "Second", "Third", "Fourth"];

    check_string(/*_array*/);
}

fn check_string(/*_input: ??? */) {


}

1 个答案:

答案 0 :(得分:1)

检查rust中变量类型的一种好方法是这样做:

let val: () = /* your value */;

Playground
这会使您出错,说它期望使用()而不是WhatEverYourTypeIs
在这种情况下,您将得到一个[&'static str; 4],就像您在代码中已经提到的那样;所以只需要在函数中输入

fn check_string(data: [&'static str; 4])

您还可以传递一个切片:

fn check_strings(data: &[&'static str])

玩一辈子:

fn check_strings<'a>(data: &'a[&'a str])


要调用它,可以通过:

check_string(_array);

如果使用大小合适的数组,或者

check_strings(&_array[..]);

如果要切片。