Мне интересно, есть ли способ через fmt
указать способ вывода строки для определенных типов.Например, у меня есть структура token
, которая содержит кучу информации о токене, например, о типе токена (который является целым числом, но для ясности было бы более разумно, если бы я мог вывести имя типа токена какстрока).
Итак, когда я печатаю переменный определенного типа, есть ли простой способ указать / реализовать строковый вывод такого типа?
Если это не имеет смысла, 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)"