使用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("Yiibai"),
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()
方法中建立的。