Нет ключа при чтении карты в Rust
У карты есть команда get по ключу, которая не
останавливает программу, если имя не
найдено. Ответ имеет тот же тип необязательного
значения: заполненный вариант со ссылкой
на число в карте или пустой вариант.
Чтение карты по ключу может вернуть пусто:
use std::collections::HashMap;
fn main() {
let mut ages = HashMap::new();
ages.insert("ann", 20);
ages.insert("bob", 30);
let ok = ages.get("ann");
let miss = ages.get("zoe");
println!("{:?}", ok);
println!("{:?}", miss);
}
Для "ann" ответ заполнен, для
несуществующего ключа пуст. Заполненный
вариант можно разобрать или превратить
в число с запасом:
use std::collections::HashMap;
fn main() {
let mut ages = HashMap::new();
ages.insert("ann", 20);
let years = ages.get("ann").unwrap_or(&0);
println!("{}", years);
}
Дана следующая карта:
let mut room = HashMap::new();
room.insert("a", 1);
Прочитайте по "a" безопасной
командой и выведите ответ через {:?}
в main.rs с подключением карты.
Дана следующая карта:
let mut tag = HashMap::new();
tag.insert("go", 2);
Скажите, какой вариант вернется при
чтении по "book".
Запишите в main.rs карту с
одним ключом, прочитайте отсутствующий
ключ безопасно и выведите ответ через
{:?}.