本文简要介绍rust语言中 core::fmt::Formatter.debug_struct
的用法。
用法
pub fn debug_struct<'b>(&'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 Formatter.debug_set用法及代码示例
- Rust Formatter.debug_list用法及代码示例
- Rust Formatter.debug_tuple用法及代码示例
- Rust Formatter.debug_map用法及代码示例
- Rust Formatter.precision用法及代码示例
- Rust Formatter.sign_minus用法及代码示例
- Rust Formatter.write_fmt用法及代码示例
- Rust Formatter.write_str用法及代码示例
- Rust Formatter.fill用法及代码示例
- Rust Formatter.alternate用法及代码示例
- Rust Formatter.sign_plus用法及代码示例
- Rust Formatter.sign_aware_zero_pad用法及代码示例
- Rust Formatter.pad_integral用法及代码示例
- Rust Formatter.pad用法及代码示例
- Rust Formatter.align用法及代码示例
- Rust Formatter.width用法及代码示例
- Rust FromUtf16Error用法及代码示例
- Rust FromUtf8Error.as_bytes用法及代码示例
- Rust File用法及代码示例
- Rust FromVecWithNulError.into_bytes用法及代码示例
- Rust FileExt.read_exact_at用法及代码示例
- Rust FileTypeExt.is_char_device用法及代码示例
- Rust FromBytesWithNulError用法及代码示例
- Rust File.open用法及代码示例
- Rust File.sync_data用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 core::fmt::Formatter.debug_struct。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。