New We are sorting MAX channels into categories and territories. Read the news
Loading image…

По-старому буду называть эту структуру словарём. Хотя есть ещё одно название "ассоциированный массив". Но вот в rust это называется хэшем.



А смысл в следующем. Это список пар (ключ, значение). В rust все ключи и все значения должны быть одного типа. Хотя как обычно это требование обходится с помощью enum - перечисления. Я об этом расскажу позднее. Ниже представлен пример программы формирования хэша, перебор всех пар и получения значения по ключу.

use std::collections::HashMap;

fn main() {
// задать
   let mut sl = HashMap::new();
// добавить значения
   sl.insert(String::from("Иванов И.И."), 120000);
   sl.insert(String::from("Петров П.П."), 70000);
   sl.insert(String::from("Пупкина З.В."), 80000);
   sl.insert(String::from("Васильев-Задунайский Р.Р."), 90000);
// перебор
   for (name, salary) in &sl {
       println!("{} - {}", name, salary);
   }
// доступ по ключу
   let key = "Пупкина З.В.".to_string();
   match sl.get(&key) {
      Some(&sal) => println!("{} - {}", key,  sal),
      None => println!("{} Нет такого!", key),
   }
}

Не забывайте указать библиотеку для импортирования: use std::collections::HashMap;.

Да, доступ к значению по ключу очень быстрый. Этим и ценна данная структура.
Views: 119
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go