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
- Tomar
Stringconsume el valor de quien llama. - Tomar
&Stringpresta y lo deja usable. - Devolver el valor pasa la propiedad de vuelta.
Palabras clave y builtins usados aquí
Stringfnletmutusize
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.
Paso 3 de 3 en Movimiento y clonación; paso 3 de 15 en Propiedad y préstamos.