推荐答案
在 Rust 中,创建结构体实例的语法如下:
-- -------------------- ---- ------- ------ ----- - -- ---- -- ---- - -- ------ - --- - - ----- - -- --- -- -- -- --------------- -- -- ---- ----- ---- ----- -
在这个例子中,我们定义了一个名为 Point
的结构体,它有两个字段 x
和 y
,类型都是 i32
。然后我们在 main
函数中创建了一个 Point
的实例 p
,并初始化了它的字段 x
和 y
。
本题详细解读
结构体定义
在 Rust 中,结构体通过 struct
关键字定义。结构体的字段可以是不同的类型,每个字段都需要明确指定其类型。
struct Point { x: i32, y: i32, }
创建结构体实例
创建结构体实例时,需要使用结构体的名称,并在大括号中为每个字段赋值。字段的顺序不需要与定义时的顺序一致。
let p = Point { x: 10, y: 20 };
访问结构体字段
创建结构体实例后,可以通过点号 .
来访问结构体的字段。
println!("Point is at ({}, {})", p.x, p.y);
可变结构体实例
如果需要在创建后修改结构体的字段,可以将结构体实例声明为可变的。
let mut p = Point { x: 10, y: 20 }; p.x = 15; println!("Point is now at ({}, {})", p.x, p.y);
结构体更新语法
在创建结构体实例时,可以使用结构体更新语法来复用已有的结构体实例的字段值。
let p1 = Point { x: 10, y: 20 }; let p2 = Point { x: 5, ..p1 }; println!("Point p2 is at ({}, {})", p2.x, p2.y);
在这个例子中,p2
的 x
字段被显式设置为 5
,而 y
字段则从 p1
中复制过来。