{:?}在Rust格式字符串中的含义是什么?

时间:2016-07-02 06:46:25

标签: arrays rust

我发现{:?}在Rust中打印整个数组。我想知道它叫什么,它究竟是如何工作的。它仅限于打印阵列还是可以在别处用于其他目的?

1 个答案:

答案 0 :(得分:13)

std::fmt文档中解释了这一点(以及其余的格式化语法)。

{...}包围所有格式化指令。 :从格式化选项中分离正在格式化的事物的名称或序号(在本例中为省略,因此意味着“下一件事”)。 ?是一个格式化选项,触发使用正在格式化的事物的std::fmt::Debug实现,而不是默认的Display特征,或其他特征之一(如{{ 1}}或UpperHex)。

因此,Octal格式化传递给格式化宏的“下一个”值,并支持实现{:?}的任何内容。