rust_programming_book 0.1.1

Programming works from THE RUST PROGRAMMING LANGUAGE
Documentation
// mutable reference
#[allow(dead_code)]
pub fn ownership() {
    let mut s1 = String::from("Hello");

    change_string(&mut s1);

    println!("Changed string: {s1}");
}

fn change_string(some_string: &mut String) {
    some_string.push_str(", World");
}

// slices
#[allow(dead_code)]
pub fn slice() {
    let s = String::from("Hello World");

    let length = get_length(&s);
    println!("length of first word of {s}: {length}");

    // slicing
    let word1 = &s[..length];
    let word2 = &s[length..];

    println!("word1: {word1}, word2: {word2}");
}
#[allow(dead_code)]
fn get_length(string: &String) -> usize {
    let bytes = string.as_bytes();

    for (index, &item) in bytes.iter().enumerate() {
        if item == b' ' {
            return index;
        }
    }
    string.len()
}