面试题答案
一键面试// 定义Point结构体
struct Point {
x: f64,
y: f64,
}
// 定义函数,接受闭包作为参数
fn operate_points<F>(func: F)
where
F: Fn(Point, Point) -> Point,
{
let p1 = Point { x: 1.0, y: 2.0 };
let p2 = Point { x: 3.0, y: 4.0 };
let result = func(p1, p2);
println!("Result: x = {}, y = {}", result.x, result.y);
}
fn main() {
// 定义闭包
let closure = |p1: Point, p2: Point| Point {
x: p1.x + p2.x,
y: p1.y + p2.y,
};
operate_points(closure);
}