当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust DebugStruct.field用法及代码示例


本文简要介绍rust语言中 core::fmt::DebugStruct.field 的用法。

用法

pub fn field(&mut self, name: &str, value: &dyn Debug) -> &mut Self

向生成的结构输出添加一个新字段。

例子

use std::fmt;

struct Bar {
    bar: i32,
    another: String,
}

impl fmt::Debug for Bar {
    fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
        fmt.debug_struct("Bar")
           .field("bar", &self.bar) // We add `bar` field.
           .field("another", &self.another) // We add `another` field.
           // We even add a field which doesn't exist (because why not?).
           .field("not_existing_field", &1)
           .finish() // We're good to go!
    }
}

assert_eq!(
    format!("{:?}", Bar { bar: 10, another: "Hello World".to_string() }),
    "Bar { bar: 10, another: \"Hello World\", not_existing_field: 1 }",
);

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 core::fmt::DebugStruct.field。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。