Uma String é uma estrutura que contém uma sequência de bytes utf-8 na memória heap.
Como sua memória está na pilha, ela pode ser estendida, modificada etc. de tal maneira que os literais de string não podem.
Métodos comuns:
push_str para adicionar mais bytes utf-8 ao final de uma string.replace para substituir sequências de bytes utf-8 por outras.to_lowercase/to_uppercase para alterações de maiúsculas e minúsculas.trim para cortar espaços.Quando uma String é descartada, sua memória heap também é descartada.
O tipo String possui um operador + que estende o string com um &str e retorna a si mesmo, mas pode não ser tão ergonômico quanto você espera.