Rust:
Concatenando strings

Como Fazer:

fn main() {
    // Usando o operador `+`
    let saudacao = "Olá".to_string();
    let mundo = " mundo!";
    let frase = saudacao + mundo; 
    println!("{}", frase); // Output: Olá mundo!

    // Usando o método `format!`
    let nome = "Rust";
    let versao = "1.63";
    let frase_formatada = format!("Bem-vindo ao {} versão {}!", nome, versao);
    println!("{}", frase_formatada); // Output: Bem-vindo ao Rust versão 1.63!

    // Concatenando várias strings com o método `push_str`
    let mut mensagem = String::new();
    mensagem.push_str("Juntando");
    mensagem.push_str(" pedaços");
    mensagem.push_str(" de texto.");
    println!("{}", mensagem); // Output: Juntando pedaços de texto.
}

Aprofundamento

Concatenar strings é essencial e não é nada novo. Em linguagens clássicas como C, era comum usar funções como strcat para isso, mas Rust moderniza o processo com segurança de tipo e de memória. Outras maneiras de concatenar strings incluem usar o método join da trait Iterator se você tiver uma coleção de strings. Quando se trata de desempenho, format! pode ser menos eficiente que outras técnicas, pois cria uma nova String a cada chamada, enquanto métodos como push_str e + modificam a String existente. Internamente, Rust gerencia o layout da string na memória usando um Vec<u8> para armazenar os dados.

Veja Também