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

Метод get

Метод get класса OnceLock возвращает ссылку на значение, которое было сохранено в OnceLock. Если значение ещё не было инициализировано, метод возвращает None. Если инициализация уже произошла, возвращается Some со ссылкой на внутреннее значение. Метод не принимает параметров и не изменяет состояние OnceLock.

Синтаксис

once_lock.get()

Пример

Давайте создадим OnceLock и проверим, что вернёт метод get до инициализации:

use std::sync::OnceLock; fn main() { let lock: OnceLock<i32> = OnceLock::new(); let res = lock.get(); println!("{:?}", res); }

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

None

Пример

Давайте инициализируем OnceLock через set и затем получим значение с помощью метода get:

use std::sync::OnceLock; fn main() { let lock: OnceLock<i32> = OnceLock::new(); let _ = lock.set(12345); let res = lock.get(); println!("{:?}", res); }

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

Some(12345)

Пример

Давайте инициализируем OnceLock строкой и извлечём значение через get:

use std::sync::OnceLock; fn main() { let lock: OnceLock<&str> = OnceLock::new(); let _ = lock.set("abcde"); let res = lock.get(); println!("{:?}", res); }

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

Some("abcde")

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

  • класс OnceLock,
    который хранит значение, инициализируемое один раз
  • метод new,
    который создаёт новый экземпляр OnceLock
  • метод get_or_init,
    который возвращает значение или инициализирует его
  • класс Once,
    который гарантирует однократное выполнение инициализации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить