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