#[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");
}
#[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}");
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()
}