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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。