РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
93 of 1245 menu

Метод as_mut

Метод as_mut преобразует значение в изменяемую ссылку на него. Он возвращает &mut T, что позволяет изменять данные через полученную ссылку. Параметров метод не принимает. Метод доступен для типов, реализующих трейт AsMut.

Синтаксис

value.as_mut()

Пример

Давайте получим изменяемую ссылку на число и изменим его:

fn main() { let mut num = 5; let r: &mut i32 = num.as_mut(); *r = 10; println!("{}", num); }

Результат выполнения кода:

10

Пример

Давайте получим изменяемую ссылку на строку и изменим её содержимое:

fn main() { let mut s = String::from("abcde"); let r: &mut String = s.as_mut(); r.push_str("12345"); println!("{}", s); }

Результат выполнения кода:

"abcde12345"

Пример

Давайте используем as_mut для изменения элемента в векторе:

fn main() { let mut v = vec![1, 2, 3, 4, 5]; let r: &mut Vec<i32> = v.as_mut(); r.push(6); println!("{:?}", v); }

Результат выполнения кода:

[1, 2, 3, 4, 5, 6]

Смотрите также

  • метод as_ref,
    который преобразует значение в неизменяемую ссылку
  • метод as_str,
    который преобразует строку в строковый срез
  • метод into,
    который преобразует значение в другой тип
  • метод to_owned,
    который создаёт owned-копию значения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить