Конечно, вы можете это сделать - просто len
не является полем, это метод:
fn test_length(arr: &[String]){
if arr.len() >= 10 {
// Do stuff
}
}
Если вы только начали изучать Rust, вы должны прочитать официальная книга - вы также обнаружите, почему &[str]
не имеет смысла (короче говоря, str
- это нестандартный тип, и вы не можете создать его массив, вместо этого &str
следует использовать для заимствования строки и String
для принадлежащих строк, скорее всего у вас есть Vec<String>
где-то, и вы можете легко получить &[String]
из него).
Я бы также добавил, что неясно, если вы хотите передать строку или массив строк в функцию. Если это строка, вы должны написать
fn test_length(arr: &str) {
if arr.len() >= 10 {
// Do stuff
}
}
len()
в строке, однако, возвращает длину в байтах, которая может быть не то, что вам нужно (длина в байтах! = Длина в " символы "в общем, любое определение" character ", которое вы используете, потому что строки находятся в UTF-8 в Rust, а UTF-8 - кодирование с переменной шириной).
Обратите внимание, что я также изменил testLength
на test_length
, поскольку snake_case является принятым соглашением для программ Rust.