typestar

Propiedad entre funciones en Rust

Una función puede tomar la propiedad, prestar, o devolver la propiedad al salir.

fn consume(text: String) -> usize {
    text.len()
}

fn inspect(text: &String) -> usize {
    text.len()
}

fn hand_back(mut text: String) -> String {
    text.push_str("!");
    text
}

fn main() {
    let greeting = String::from("welcome");
    println!("{}", inspect(&greeting));
    let greeting = hand_back(greeting);
    println!("{}", consume(greeting));
}

Cómo funciona

  1. Tomar String consume el valor de quien llama.
  2. Tomar &String presta y lo deja usable.
  3. Devolver el valor pasa la propiedad de vuelta.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
332
Tokens
106
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 71 segundos.

Escribe este fragmento

Paso 3 de 3 en Movimiento y clonación; paso 3 de 15 en Propiedad y préstamos.

← Anterior Siguiente →