面试题答案
一键面试use std::fmt::Write;
#[derive(Debug)]
struct Point {
x: i32,
y: i32,
}
fn main() {
let point = Point { x: 10, y: 20 };
let mut result = String::new();
match write!(&mut result, "({}, {})", point.x, point.y) {
Ok(_) => {
println!("Formatted string: {}", result);
}
Err(e) => {
eprintln!("Error occurred while formatting: {}", e);
}
}
}
在上述代码中:
- 首先定义了
Point
结构体。 - 在
main
函数中创建了Point
结构体实例。 - 使用
write!
宏尝试将Point
实例格式化为(x, y)
形式的字符串,write!
宏返回一个Result
类型。 - 通过
match
表达式处理Result
,如果是Ok
,则打印格式化后的字符串;如果是Err
,则打印错误信息。