Concatenación de cadenas de texto

Rust:
Concatenación de cadenas de texto

Cómo hacerlo:

Utiliza + o format! para concatenar. Aquí tienes ejemplos:

fn main() {
    // Usando el operador +
    let cadena1 = "Hola".to_string();
    let cadena2 = "Mundo!";
    let resultado = cadena1 + " " + &cadena2;
    println!("{}", resultado); // Muestra "Hola Mundo!"

    // Usando la macro format!
    let nuevo_resultado = format!("{} {}", "Hola", "Mundo!");
    println!("{}", nuevo_resultado); // Muestra "Hola Mundo!"
}

En Profundidad:

Históricamente, concatenar strings ha variado dependiendo del lenguaje. Rust es interesante porque la propiedad de las cadenas se transfiere al concatenar con +, forzando a que el segundo argumento sea una referencia.

Alternativas incluyen usar push_str para añadir a una String existente sin crear una nueva:

fn main() {
    let mut cadena = "Hola".to_string();
    cadena.push_str(" Mundo!");
    println!("{}", cadena); // Muestra "Hola Mundo!"
}

Otra opción es el uso de macros como write! o writeln! para escribir en una String:

use std::fmt::Write;

fn main() {
    let mut cadena = String::new();
    write!(&mut cadena, "{} {}", "Hola", "Mundo!").unwrap();
    println!("{}", cadena); // Muestra "Hola Mundo!"
}

La implementación detrás de la concatenación considera el manejo eficiente de la memoria, asegurándose de que no se haga más trabajo del necesario.

Ver También: