Per Стив Клабник записывает в документации до Rust 1.0 разницу между String
и &str
, в Rust вы должны используйте &str
, если вам действительно не требуется владение над String
. Точно так же рекомендуется использовать ссылки на срезы (&[]
) вместо Vec
, если вам действительно не требуется владение над Vec
.
У меня есть Vec<String>
, и я хочу написать функцию, которая использует эту последовательность строк, и ей не нужно владение над экземплярами Vec
или String
, должна ли эта функция принимать &[&str]
? Если да, то какой лучший способ ссылаться на Vec<String>
на &[&str]
? Или это избыточное принуждение?