使用Struct
更新語法從其他實例創建新實例。
當新實例使用舊實例的大部分值時,可以使用struct update
語法。考慮兩名員工employee1
和employee2
。
- 首先,創建
Employee
結構體的實例employee1
:
let employee1 = Employee{
employee_name : String::from("Maxsu"),
employee_id: 12,
employee_profile : String::from("IT工程師"),
active : true,
};
- 其次,創建
employee2
的實例。employee2
實例的某些值與employee1
相同。 有兩種方法可以聲明employee2
實例。
第一種方法是在沒有語法更新的情況下聲明employee2
實例。
let employee2 = Employee{
employee_name : String::from("Maxsu"),
employee_id: 11,
employee_profile : employee1.employee_profile,
active : employee1.active,
};
第二種方法是使用語法更新聲明employee2
實例。
let employee2 = Employee{
employee_name : String::from("zaixian"),
employee_id: 11,
..employee1
};
語法..
指定其餘字段未顯式設置,並且它們與給定實例中的字段具有相同的值。
下麵來看一個結構的簡單示例:
struct Triangle
{
base:f64,
height:f64,
}
fn main()
{
let triangle= Triangle{base:20.0,height:30.0};
print!("Area of a right angled triangle is {}", area(&triangle));
}
fn area(t:&Triangle)->f64
{
0.5 * t.base * t.height
}
執行上面示例代碼,得到以下結果 -
Area of a right angled triangle is 300
在上面的例子中,創建了三角形(Triangle
)的結構體,它包含兩個變數,即直角三角形的底邊和高度。三角形(Triangle
)的實例是在main()
方法中創建的。
上一篇:
Rust結構體
下一篇:
Rust結構體方法語法