我们已经见识过 格式化字符串(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
.