参考:https://doc.rust-lang.org/stable/rust-by-example/custom_types/structs.html
Add a function square
which takes a Point
and a f32
as arguments, and returns a Rectangle
with its lower left corner on the point, and a width and height corresponding to the f32
.
增加一个函数 square,接受的参数是一个 Point 和一个 f32,并返回一个 Rectangle(长方形),其左下角的点等于 Point 参数,长和宽都等于 f32 参数。
#[derive(Debug)] struct Point { x: f32, y: f32, } #[derive(Debug)] struct Rectangle { top_left: Point, bottom_right: Point, } fn square(point: &Point, length: f32) -> Rectangle { Rectangle { top_left: Point { x: point.x, y: point.y + length, }, bottom_right: Point { x: point.x + length, y: point.y, }, } } fn main() { println!("square: {:?}", square(&Point { x: 0.0, y: 0.0 }, 1.0)); }
根据要求,实现生成长方形的方法。