在Rust中实现字符串缓冲区的最佳方法是什么?

时间:2014-12-09 06:47:35

标签: rust

假设我想连续对字符串做很多小的补充,最好的方法是什么?是否有最适合此类型的数据类型?

2 个答案:

答案 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! 引入范围。

文档:

用于编写此答案的资源: Rust String concatenation