我想知道是否有办法fmt
指定字符串为特定类型输出的方式。例如,我有一个token
结构,其中包含有关令牌的一堆信息,例如令牌类型(这是一个 int,但为了清楚起见,如果我可以将令牌类型的名称输出为字符串会更有意义) .
因此,当我打印特定类型的变量时,是否有一种直接的方法来指定/实现这种类型的字符串输出?
如果这真的没有意义,Rust 有一个很好的形式(来自他们的文档)
use std::fmt;
struct Point {
x: i32,
y: i32,
}
impl fmt::Display for Point {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "({}, {})", self.x, self.y)
}
}
let origin = Point { x: 0, y: 0 };
println!("The origin is: {}", origin); // prints "The origin is: (0, 0)"