将Vec <String>转换为Rust中的&str的一部分?

唐·罗(Don Rowe):

史蒂夫Klabnik的上的差异之间的预锈1.0文档中的书面记录String,并&str在锈,你应该使用&str,除非你真的需要有一个以上的所有权String同样,除非确实需要对的所有权,否则建议使用对slice(&[])的引用而不是Vecs Vec

我有一个,Vec<String>并且我想编写一个使用此字符串序列的函数,并且不需要对该VecString实例的所有权,该函数应该采用&[&str]吗?如果是这样,什么是引用的最佳方式Vec<String>进入&[&str]或者,这是强制性的过度杀伤力吗?

aSpex:

您可以创建一个同时接受&[String]&[&str]使用AsReftrait的函数

fn test<T: AsRef<str>>(inp: &[T]) {
    for x in inp { print!("{} ", x.as_ref()) }
    println!("");
}

fn main() {
    let vref = vec!["Hello", "world!"];
    let vown = vec!["May the Force".to_owned(), "be with you.".to_owned()];
    test(&vref);
    test(&vown);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将字节数组值的一部分转换为String

将 vec<&String> 转换为 vec<String> 哪种方式更好

如何将 String 或 str& 转换为 Vec<String>?

如何将 Vec<Item> 转换为 Vec<String>?

如何将列表的一部分转换为python中的嵌套列表?只使用内置函数

将Vec <String>传递为IntoIterator <&'a str>

作为函数的一部分,如何将小数转换为等效时间?

将文本文件的一部分转换为列表

将Ctypes数组的一部分转换为结构

使用Jackson ObjectMapper将Json的一部分转换为HashMap

如何将Java源文件的一部分转换为Kotlin?

将邮箱消息转换为PDF:哪一部分?

将字符串的一部分转换为数组

将字符串值的一部分转换为数字并连接

将文本字符串的一部分转换为分数

Laravel-将函数的一部分转换为排队的语句

将VARCHAR转换为SMALLDATETIME作为UPDATE语句的一部分

如何将Redux存储的一部分转换为数组

如何将字符串的一部分转换为整数?

将字符串的一部分转换为java.util.Date

如何仅将字符串列表的一部分转换为整数

将字符串的一部分转换为数据帧的不同列

将嵌套的 Json 对象的一部分转换为 Java Map

将字符串的一部分转换为哈希值

如何将字符串的一部分转换为斜体?

将资源ID的最后一部分转换为var

将网址的一部分替换为按钮中的值

将二进制文件的一部分读取到预先存在的basic_string对象中

将日期转换为星期日期名称和一天的一部分