یه String یه struct هست که مالک یه دنباله از بایتهای utf-8 روی حافظهی هیپه.
چون حافظهش روی هیپه، میشه اون رو گسترش داد، تغییرش داد، و غیره؛ کارهایی که با رشتههای لیترال نمیشه انجام داد.
متدهای رایج:
push_str برای اضافه کردن بایتهای utf-8 بیشتر به انتهای یه رشته.replace برای جایگزین کردن دنبالههای بایت utf-8 با دنبالهی دیگه.to_lowercase/to_uppercase برای تغییر حروف بزرگ/کوچک.trim برای حذف فاصلههای اضافه.وقتی یه String دراپ میشه، حافظهی هیپش هم دراپ میشه.
String یه عملگر + داره که رشته رو با یه &str گسترش میده و خودش رو برمیگردونه، ولی شاید به اندازهای که امیدواری، ارگونومیک نباشه.