Skip to content

Rust References and Borrowing

Overview

References allow you to use values without taking ownership.

🔗 Immutable References

rust
fn main() {
    let s1 = String::from("hello");
    let len = calculate_length(&s1);
    println!("The length of '{}' is {}.", s1, len);
}

fn calculate_length(s: &String) -> usize {
    s.len()
}

🔗 Mutable References

rust
fn main() {
    let mut s = String::from("hello");
    change(&mut s);
    println!("{}", s);
}

fn change(some_string: &mut String) {
    some_string.push_str(", world");
}

Continue learning: Next Chapter - Rust Lifetimes

Content is for learning and research only.