Coding Learn
⚡ ASTUCE Rust — OWNERSHIP : LA RÈGLE QUI SAUVE DES VIES
1️⃣ Le principe fondamental : une seule variable possède la donnée
let s1 = String::from("hello");
let s2 = s1; // s1 est "moved" vers s2
println!("{}", s1); // ❌ Erreur : s1 n'est plus valide
2️⃣ Pour dupliquer vraiment : clone()
let s1 = String::from("hello");
let s2 = s1.clone(); // copie profonde
println!("{} {}", s1, s2); // ✅ les deux valides
3️⃣ Le borrow checker en action — références immuables vs mutables
fn longest(a: &str, b: &str) -> &str {
if a.len() > b.len() { a } else { b }
}
let r1 = &mut String::from("hi");
let r2 = &r1; // ❌ une mutable + une immuable = interdit
println!("{} {}", r1, r2);
// OK : plusieurs immuables OU une seule mutable
let r1 = &String::from("hi");
let r2 = &r1; // ✅ plusieurs & partagées
✅ Pas de garbage collector, pas de data races à la compilation. Le compilateur est ton meilleur QA.
💾 Enregistre ce post pour ne pas l'oublier.
#Rust #RustLang #WebDev #DevTips #MetaCodeLearn
420 ·