Rust · Essencial · Inglês · Técnico
borrowing
Usar um valor por meio de uma referência, sem tomar a posse dele. O dono continua responsável por liberar o dado, e o compilador confere o empréstimo.
Onde usar
Surge quando uma função só precisa ler ou alterar um dado do chamador. Em code review, a dúvida típica é se o parâmetro deve ser tomado por valor ou emprestado.
Em código
fn tamanho(s: &str) -> usize {
s.len()
}
let s = String::from("oi");
let n = tamanho(&s);
println!("{s} {n}");Exemplos
Borrowing lets the function read it without taking it.
O empréstimo deixa a função ler sem tomar o valor.
Prefer borrowing over cloning in this hot path.
Prefira emprestar a clonar neste caminho crítico.
Cuidado
Emprestar não é copiar: a referência aponta para o mesmo dado e não pode viver mais que o dono.
Sinônimos
empréstimo
Antônimos
move