396d3f2ccdca2859ca94bca79d9f8df2e426d3bd
[learn-rust.git] / src / main.rs
1 mod word_utils;
2
3 use word_utils::{first_word, second_word};
4
5 fn main() {
6     let s = String::from("Hello world");
7     println!("first word: '{}'", first_word(&s));
8     println!("second word: '{}'", second_word(&s).unwrap());
9
10     let s2 = "hello dude blah";
11     println!("second word of single: '{}'", second_word(s2).unwrap_or("(none)"));
12
13     match second_word(s2) {
14         Some(w) => println!("match: second word of '{}' exists: {}", s2, w),
15         None => println!("match: second word of '{}' does not exist", s2),
16     }
17
18     let v1 = vec![1, 2, 3];
19     println!("statically initialized vector: {:?}", v1);
20
21     let mut v2: Vec<String> = Vec::new();
22     v2.push("Hello".to_string());
23     v2.push(String::from("world"));
24     println!("dynamically built vector: {:?}", v2);
25     println!("first element: {}", v2[0]);
26     for el in &mut v2 {
27         *el += "xx";
28     }
29     for el in &v2 {
30         println!("{}", el);
31     }
32 }