Тип String является структурой, которая владеет последовательностью utf-8 байтов в куче.
Так как эта память в куче, то ее можно расширять, изменять и т.д. способами, которые не доступны для типа строковых литералов.
Общие методы:
push_str добавить больше utf-8 байт к концу строки.replace заменить последовательности utf-8 байт на другие.to_lowercase/to_uppercase изменение регистра.trim для уменьшения местаКогда String удаляется, ее память в куче также удаляется.
Тип String имеет оператор +, увеличивающий строку с помощью другого &str строкового литерала и возвращающий сам себя, но это может быть не так эргономично, как вы надеетесь.