MST

星途 面试题库

面试题:Rust如何自定义结构体在控制台输出的格式

假设有一个结构体 `Point`,包含两个字段 `x: i32` 和 `y: i32`,要求自定义该结构体在控制台输出的格式为 `(x,y)` 的形式,例如 `(1, 2)`,写出实现代码。
26.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
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)
    }
}

你可以这样使用:

fn main() {
    let p = Point { x: 1, y: 2 };
    println!("{}", p);
}