📚 Cheatsheet

Une collection organisée de snippets de code pour accélérer votre développement. Parcourez, recherchez et copiez en un clic.

Snippets 7

Retour
Clonage
Facile
let s1 = String::from("hello");
let s2 = s1.clone();
println!("s1 = {}, s2 = {}", s1, s2);
Fonction qui prend possession (takes ownership)
Intermédiaire
fn prend_possession(une_string: String) { ... }
let s = String::from("hello");
prend_possession(s); // s n'est plus valide ici
Fonction qui retourne une possession
Intermédiaire
fn donne_possession() -> String {
    let une_string = String::from("la vôtre");
    une_string
}
Références et emprunt (borrowing)
Intermédiaire
fn calcule_longueur(s: &String) -> usize {
    s.len()
}
let s1 = String::from("hello");
let len = calcule_longueur(&s1);
Références mutables
Intermédiaire
fn change(une_string: &mut String) {
    une_string.push_str(", world");
}
let mut s = String::from("hello");
change(&mut s);
Règles de l'ownership (déplacement)
Facile
let s1 = String::from("hello");
let s2 = s1;
// println!("{}", s1); // Erreur de compilation ! s1 a été déplacé vers s2.
Slice de chaîne de caractères
Intermédiaire
let s = String::from("hello world");
let hello = &s[0..5];
let world = &s[6..11];