String vs &str Deep Dive

Updated

October 31, 2026

String vs &str Deep Dive

Rust strings are always valid UTF-8 sequences.

fn main() {
    let mut s = String::from("desk");
    s.push_str(" management");

    let slice: &str = &s[..4];
    println!("Owned: '{}', Slice: '{}'", s, slice);

    // Iterating bytes vs characters
    for ch in "🦀 Rust".chars() {
        println!("Char: {}", ch);
    }
}