MST
星途 面试题库

面试题:Rust中impl块的基本使用及关联函数

在Rust中,定义一个结构体`Point`,包含`x`和`y`两个`i32`类型的字段。在`impl`块中,为`Point`结构体实现一个关联函数`new`,用于创建`Point`的实例;再实现一个方法`distance`,用于计算该点到原点`(0, 0)`的距离(距离计算公式为`sqrt(x * x + y * y)`,可使用`std::cmp::sqrt`函数)。请写出完整代码。
34.9万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use std::cmp::sqrt;

struct Point {
    x: i32,
    y: i32,
}

impl Point {
    fn new(x: i32, y: i32) -> Self {
        Self { x, y }
    }

    fn distance(&self) -> f64 {
        sqrt((self.x * self.x + self.y * self.y) as f64)
    }
}