我们已经见识过 格式化字符串(format string) 了:
format!("{}", foo) -> "3735928559"format!("0x{:X}", foo) ->
"0xDEADBEEF"format!("0o{:o}", foo) -> "0o33653337357"同样的变量 (foo) 通过 参数类型 能被格式化为不同的格式。参数类型: X vs o vs 未指定(unspecified).
格式化的功能是通过traits实现的,每个参数类型都有一个trait。最通用的格式化trait是Display,它处理的参数类型是 未指定(unspecified): {}。
You can view a full list of formatting traits and their argument
types in the std::fmt documentation.
为上面的Color结构体添加一个fmt::Display trait实现,以便于能输出下列结果:
RGB (128, 255, 90) 0x80FF5A
RGB (0, 3, 254) 0x0003FE
RGB (0, 0, 0) 0x000000
两点提示:
:02.