rustbook

Toy programs and snippets for The Rust Programming Language book
Log | Files | Refs

main.rs (1071B)


      1 struct User {
      2     username: String,
      3     email: String,
      4     sign_in_count: u64,
      5     active: bool,
      6 }
      7 
      8 fn new_user(email: String, username: String) -> User {
      9     User {
     10         email, // == email: email, because names match
     11         username, //== username: username,
     12         sign_in_count: 0,
     13         active: false,
     14     }
     15 }
     16 
     17 struct rgb(u16, u16, u16);
     18 struct point(u16, u16, u16);
     19 
     20 fn main() {
     21     let mut user1 = User {
     22         username: String::from("strongbad"),
     23         email: String::from("strongbad@homestarrunner.com"),
     24         sign_in_count: 1,
     25         active: true,
     26     };
     27 
     28     println!("email={}", user1.email);
     29     user1.email = String::from("djmankewicz@homestarrunner.com");
     30     println!("email={}", user1.email);
     31 
     32     let user2 = new_user(String::from("gunship@hegemon.com"), String::from("champeener") );
     33     println!("email={}", user2.email);
     34 
     35     let user3 = User {
     36         email: String::from("systemerror@paradise.com"),
     37         ..user2
     38     };
     39     println!("email={}", user3.email);
     40 
     41     let white = rgb(255, 255, 255);
     42     let origin = point(0, 0, 0);
     43 }