首页 > 解决方案 > 如何在不先将其转换为字符串的情况下将 char 或 &str 附加到字符串?

问题描述

我正在尝试写一个词法分析器来取乐,但是有些事情一直困扰着我。

let mut chars: Vec<char> = Vec::new();
let mut contents = String::new();
let mut tokens: Vec<&String> = Vec::new();
let mut append = String::new();
//--snip--
for _char in chars {
    append += &_char.to_string();
    append = append.trim().to_string();

    if append.contains("print") {
        println!("print found at: \n{}", append);
        append = "".to_string();
    }
}

任何时候我想做一些简单的事情,比如将 a 附加&str到 aString我必须使用.to_string, String::from(),.to_owned等来转换它。

有什么我做错了,所以我不必经常这样做,还是这是附加的主要方式?

标签: stringrust

解决方案


如果您尝试使用类型做某事,请查看文档。从文档中String

  • push:“将给定附加char到 this 的末尾String。”
  • push_str:“将给定的字符串切片附加到 this 的末尾String。”

推荐阅读