Borrowing & references (&, &mut)
Në shqip: Huazimi
ShpjegimiSQ
Në vend që ta japësh vlerën, mund ta „huazosh“ me &: funksioni e lexon, por pronari mbetet ti. Me &mut e huazon për ta ndryshuar. Rregulli: shumë huazime për lexim, ose vetëm një për shkrim — kurrë të dyja njëherësh.
EnglishEN
Instead of giving a value away, you can “borrow” it with &: the function reads it, but you stay the owner. With &mut you lend it out to be changed. The rule: many read borrows, or exactly one write borrow — never both at once.
Si ta mendosh
Si një libër biblioteke: shumë mund ta lexojnë njëherësh, por vetëm një mund të shkruajë në të, dhe atëherë askush tjetër s'e lexon.
Lexoje në anglisht
Like a library book: many can read it at once, but only one can write in it, and then nobody else reads it.
Shembull kodirust
fn gjatesia(s: &String) -> usize { s.len() }
fn shto(s: &mut String) { s.push('!'); }
let mut emri = String::from("Arta");
shto(&mut emri); println!("{}", gjatesia(&emri));