面试题答案
一键面试struct Rectangle {
width: u32,
height: u32,
}
impl Rectangle {
fn area(&self) -> u32 {
self.width * self.height
}
}
这里使用方法更为合适,而不是关联函数。原因如下:
- 关联函数:关联函数通常用于创建新实例等不需要实例对象的场景,例如
Self::new()
这种构造函数形式,它通过结构体名直接调用,不依赖于结构体实例。 - 方法:方法需要结构体实例来调用,通过
self
参数来访问结构体的字段。在计算矩形面积时,我们需要访问Rectangle
实例的width
和height
字段,因此使用方法更符合逻辑,通过rectangle.area()
这种调用方式,使得代码更清晰地表达是基于特定矩形实例进行面积计算的操作。