summaryrefslogtreecommitdiff
path: root/rust/theBook/chapter-5-using-struct-to-structure-related-data/emp1.rs
diff options
context:
space:
mode:
authorgarhve <git@garhve.com>2022-12-26 16:52:29 +0800
committergarhve <git@garhve.com>2022-12-26 16:52:29 +0800
commit3172b239863e1151d85197fdb4ea3e42d421256e (patch)
tree81e4eb4eb06725f17188bf85d9cd7305eceedab3 /rust/theBook/chapter-5-using-struct-to-structure-related-data/emp1.rs
parent1dece36fd7e315aee98f1c06d7064fbd6ef877e8 (diff)
finish chapter 5
Diffstat (limited to 'rust/theBook/chapter-5-using-struct-to-structure-related-data/emp1.rs')
-rw-r--r--rust/theBook/chapter-5-using-struct-to-structure-related-data/emp1.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/rust/theBook/chapter-5-using-struct-to-structure-related-data/emp1.rs b/rust/theBook/chapter-5-using-struct-to-structure-related-data/emp1.rs
new file mode 100644
index 0000000..655eef0
--- /dev/null
+++ b/rust/theBook/chapter-5-using-struct-to-structure-related-data/emp1.rs
@@ -0,0 +1,30 @@
+struct User {
+ active: bool,
+ sign_in_count: u32,
+ email: String,
+ username: String,
+}
+
+fn create_user(email: String, username: String) -> User {
+ User {
+ email,
+ username,
+ active: true,
+ sign_in_count: 1,
+ }
+}
+
+fn main() {
+ let mail = String::from("example@example.com");
+ let user = String::from("name");
+
+ let user1 = create_user(mail,user);
+
+ println!("{} {} {} {}",user1.email,user1.username,user1.active,user1.sign_in_count);
+
+ let user2 = User {
+ email: String::from("hello@world.com"),
+ ..user1
+ };
+ println!("{} {} {} {}",user2.email,user2.username,user2.active,user2.sign_in_count);
+}