summaryrefslogtreecommitdiff
path: root/rust/theBook/chapter-5-using-struct-to-structure-related-data/emp1.rs
diff options
context:
space:
mode:
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);
+}