Метод shrink_to_fit
Метод shrink_to_fit уменьшает емкость строки
String до ее текущей длины. Это позволяет
освободить память, которая была выделена с запасом,
но в данный момент не используется. Метод не принимает
параметров и не возвращает значения. После его вызова
емкость строки становится равной или близкой к ее длине.
Синтаксис
string.shrink_to_fit();
Пример
Давайте создадим строку с запасом емкости, а затем
уменьшим ее с помощью метода shrink_to_fit:
fn main()
{
let mut s = String::with_capacity(100);
s.push_str("abcde");
println!("Length: {}", s.len());
println!("Capacity before: {}", s.capacity());
s.shrink_to_fit();
println!("Capacity after: {}", s.capacity());
}
Результат выполнения кода:
Length: 5
Capacity before: 100
Capacity after: 5
Пример
Давайте создадим строку, добавим в нее данные, удалим часть из них, а затем уменьшим емкость:
fn main()
{
let mut s = String::new();
s.push_str("12345");
s.push_str("67890");
println!("Capacity before: {}", s.capacity());
s.truncate(5);
println!("Length after truncate: {}", s.len());
println!("Capacity after truncate: {}", s.capacity());
s.shrink_to_fit();
println!("Capacity after shrink: {}", s.capacity());
}
Результат выполнения кода:
Capacity before: 10
Length after truncate: 5
Capacity after truncate: 10
Capacity after shrink: 5
Смотрите также
-
метод
with_capacity,
который создает строку с заданной емкостью -
метод
capacity,
который возвращает текущую емкость строки -
метод
reserve,
который резервирует дополнительную емкость -
метод
clear,
который очищает строку, удаляя все ее содержимое