typestar

Préstamos mutables en Rust

Un préstamo mutable a la vez, y nunca junto a uno compartido.

fn add_star(total: &mut u32) {
    *total += 1;
}

fn main() {
    let mut stars = 2;
    add_star(&mut stars);
    println!("{stars}");

    let mut words = vec!["fig".to_string()];
    let first = &mut words[0];
    first.push_str("s");
    println!("{:?}", words);

    let a = &words;
    let b = &words;
    println!("{} {}", a.len(), b.len());
}

Cómo funciona

  1. &mut deja que una función cambie lo que recibió.
  2. El préstamo termina en su último uso, no en la llave de cierre.
  3. Los préstamos compartidos pueden solaparse; uno mutable no.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
307
Tokens
117
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 74 segundos.

Escribe este fragmento

Paso 2 de 3 en Préstamos; paso 5 de 15 en Propiedad y préstamos.

← Anterior Siguiente →