summaryrefslogtreecommitdiff
path: root/rust/theBook/chapter-5-using-struct-to-structure-related-data/emp1.rs
blob: 655eef0a85a8785925a909df3b0def12e44f2f59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);
}