字段初始化简写

Minimum Rust version: 1.17

在以往的 Rust 中,当初始化一个结构体的时候,总是需要完全按照 key: value 对的写法:

1. struct Point {
2. x: i32,
3. y: i32,
4. }

6. let a = 5;
7. let b = 6;

9. let p = Point {
10. x: a,
11. y: b,
12. };

但是,这些字段通常会是相同的名字,所以你可以把它写成这样:

1. let p = Point {
2. x: x,
3. y: y,
4. };

现在,如果变量名和结构体字段名相同,可以省略写成这样:

1. struct Point {
2. x: i32,
3. y: i32,
4. }

6. let x = 5;
7. let y = 6;

9. // new
10. let p = Point {
11. x,
12. y,
13. };