假设我想连续对字符串做很多小的补充,最好的方法是什么?是否有最适合此类型的数据类型?
答案 0 :(得分:11)
使用String native类型,它设计为可变且容易增长。
let mut s = String::new();
s.push_str("GET / HTTP/1.0\r\n");
s.push_str("User-Agent: foobar\r\n"); // Etc etc
答案 1 :(得分:0)
假设我想连续对一个字符串做很多小的添加[...]
如果“additions”不是 gcc
,您可以使用目标 &str
作为 Writer 来推送其他数据类型的字符串表示:
String
宏 fn main() {
let mut target_string = String::new();
use std::fmt::Write;
write!(target_string, "an integer: {}\n", 42).unwrap();
writeln!(target_string, "a boolean: {}", true).unwrap();
assert_eq!("an integer: 42\na boolean: true\n", target_string);
}
需要 Write 特征。
任何实现 write!
的东西都可以用宏 write
写入。
要使用 Write 方法,必须首先将其引入作用域。
写入特征通过 write!
引入范围。
文档:
use std::fmt::Write;
:https://doc.rust-lang.org/core/macro.write.htmlwrite!(..)
:https://doc.rust-lang.org/core/macro.writeln.html用于编写此答案的资源: Rust String concatenation