我很难弄清楚字符串语法在Rust中是如何工作的.具体来说,我想弄清楚如何制作多行字符串.

推荐答案

所有字符串文字都可以跨多行拆分;例如:

let string = "line one
line two";

是一个两行字符串,与"line one\nline two"相同(当然也可以直接使用\n换行符).如果出于格式化的原因,您希望在多行中打断一个字符串,那么可以使用\来转义换行符和前导空格;例如:

let string = "one line \
    written over \
    several";

"one line written over several"一样.

如果要在字符串中添加换行符,可以将其添加到\之前:

let string = "multiple\n\
              lines\n\
              with\n\
              indentation";

"multiple\nlines\nwith\nindentation";一样

Rust相关问答推荐

使用DeliverProcess W或ShellExecuteExW复制Windows Run行为?

如何对字符串引用的引用向量进行排序,而不是对最外层的引用进行排序?

如果A == B,则将Rc A下推到Rc B

如何在Tauri中将变量从后端传递到前端

在Rust中,如果Result是Err,运行副作用(如日志(log)记录)的惯用方法是什么

用 rust 蚀中的future 展望 struct 的future

Rust编译器似乎被结果类型与anyhow混淆

考虑到Rust不允许多个可变引用,类似PyTorch的自动区分如何在Rust中工作?

&'a T 是否意味着 T: 'a?

borrow 是由于对 `std::sync::Mutex>` 的解引用强制而发生的

UnsafeCell:它如何通知 rustc Select 退出基于别名的优化?

Rust Axum 框架 - 解包安全吗?

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

Rust中是否可以在不复制的情况下从另一个不可变向量创建不可变向量?

实现泛型的 Trait 方法中的文字

具有在宏扩展中指定的生命周期的枚举变体数据类型

为什么在 macOS / iOS 上切换 WiFi 网络时 reqwest 响应会挂起?

将一片字节复制到一个大小不匹配的数组中

为什么 match 语句对引用类型比函数参数更挑剔?

如何从 many0 传播 Nom 失败上下文?