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


Rust DebugMap用法及代碼示例


本文簡要介紹rust語言中 Struct std::fmt::DebugMap 的用法。

用法

pub struct DebugMap<'a, 'b> where    'b: 'a,  { /* fields omitted */ }

幫助 fmt::Debug 實現的結構。

當您希望將格式化的Map作為 Debug::fmt 實現的一部分輸出時,這很有用。

這可以通過 Formatter::debug_map 方法構造。

例子

use std::fmt;

struct Foo(Vec<(String, i32)>);

impl fmt::Debug for Foo {
    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
        fmt.debug_map().entries(self.0.iter().map(|&(ref k, ref v)| (k, v))).finish()
    }
}

assert_eq!(
    format!("{:?}", Foo(vec![("A".to_string(), 10), ("B".to_string(), 11)])),
    "{\"A\": 10, \"B\": 11}",
);

相關用法


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