Хороший способ проверить тип переменной в ржавчине заключается в следующем:
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[..]);
Если требуется фрагмент.