假设我想连续对一个字符串做很多小的加法,那么最好的方法是什么?是否有一种数据类型最适合这种情况?

推荐答案

使用字符串原生类型,它的设计是可变的,并且易于增长.

let mut s = String::new();
s.push_str("GET / HTTP/1.0\r\n");
s.push_str("User-Agent: foobar\r\n"); // Etc etc

Rust相关问答推荐

为什么幻影数据不能自动推断?

交叉术语未正确清除屏幕

在Rust中赋值变量有运行时开销吗?

如何定义实现同名但返回类型不同的 struct 的函数

Gtk4-rs:将监视器作为gdk::monitor获取,而不是作为glib::对象获取

我可以在不收集或克隆的情况下,将一个带有Item=(key,val)的迭代器拆分成单独的key iter和val iter吗?

有没有可能让泛型Rust T总是堆分配的?

如何防止Cargo 单据和Cargo 出口发布( crate )项目

返回迭代器考虑静态生命周期类型

在 Rust 中查找向量中 dyn struct 的索引

为什么我的trait 对象类型不匹配?

当在lambda中通过引用传递时,为什么会出现终身/类型不匹配错误?

decltype、dyn、impl traits,重构时如何声明函数的返回类型

如何在 Rust 中按 char 对字符串向量进行排序?

SDL2 没有在终端键上触发?

意外的正则表达式模式匹配

在空表达式语句中移动的值

如果我立即等待,为什么 `tokio::spawn` 需要一个 `'static` 生命周期?

为什么我不能为 Display+Debug 的泛型类型实现 std::error::Error 但有一个不是泛型参数的类型?

为什么在使用 self 时会消耗 struct 而在解构时不会?