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


Rust Formatter.debug_struct用法及代碼示例


本文簡要介紹rust語言中 std::fmt::Formatter.debug_struct 的用法。

用法

pub fn debug_struct(&'b mut self, name: &str) -> DebugStruct<'b, 'a>

創建一個 DebugStruct 構建器,旨在幫助為結構創建 fmt::Debug 實現。

例子

use std::fmt;
use std::net::Ipv4Addr;

struct Foo {
    bar: i32,
    baz: String,
    addr: Ipv4Addr,
}

impl fmt::Debug for Foo {
    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
        fmt.debug_struct("Foo")
            .field("bar", &self.bar)
            .field("baz", &self.baz)
            .field("addr", &format_args!("{}", self.addr))
            .finish()
    }
}

assert_eq!(
    "Foo { bar: 10, baz: \"Hello World\", addr: 127.0.0.1 }",
    format!("{:?}", Foo {
        bar: 10,
        baz: "Hello World".to_string(),
        addr: Ipv4Addr::new(127, 0, 0, 1),
    })
);

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::fmt::Formatter.debug_struct。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。