當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。