推荐答案
在 Rust 中,创建结构体实例的语法如下:
// www.javascriptcn.com code example
struct Point {
x: i32,
y: i32,
}
fn main() {
let p = Point { x: 10, y: 20 };
println!("Point is at ({}, {})", p.x, p.y);
}在这个例子中,我们定义了一个名为 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 中复制过来。