使用Struct更新语法从其他实例创建新实例。
当新实例使用旧实例的大多数值时, 则可以使用struct update语法。考虑两个雇员employee1和employee2。
- 首先, 创建Employee结构的实例employee1:
let employee1 = Employee{employee_name : String::from("Akshay Gupta"), employee_id: 12, employee_profile : String::from("Computer Engineer"), active : true, };
- 其次, 创建实例employee2。 employee2实例的某些值与employee1相同。有两种声明employee2实例的方法。
let employee2 = Employee{employee_name : String::from("Akhil Gupta"), employee_id: 11, employee_profile : employee1.employee_profile, active : employee1.active, };
第二种方法是通过使用语法更新来声明employee2实例。
let employee2 = Employee{employee_name : String::from("Akhil Gupta"), employee_id: 11, ..employee1};
【Rust结构更新语法】语法” ..” 指定未显式设置其余字段, 并且它们与给定实例中的字段具有相同的值。
让我们看一个简单的Structure示例:
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的实例在main()方法内创建。
推荐阅读
- Rust枚举控制流if let运算符
- Rust结构方法语法
- 什么是Rust Enum(基本介绍和用法)
- 什么是结构(Rust结构用法)
- Rust什么是切片(详细用法————)
- Rust引用和借入用法详解
- Rust while循环语句用法解释
- Rust 循环语句用法解释
- Rust if语句介绍和用法图解