Я новичок в ржавчине и пытаюсь выяснить, как создать HashMap
заимствованных значений из Vec
данных, но когда я пытаюсь это сделать, я получаю Vec
в HashMap
модель собственности борется со мной. Я не знаю, как это сделать, может быть, я просто пробую что-то, что противоречит менталитету Руста.
Например:
struct Data{
id: String,
other_value: String,
}
//inside a method somewhere
let data_array = load_data(); // returns a Vec<Data>
let mut hash = HashMap::new(); // HashMap<&String, &Data>
for item in data_array {
hash.insert(&item.id, &item);
}
Насколько я знаю должен быть способ заполнить эти данные таким образом, поскольку HashMap
будет хранить ссылки на исходные данные. Или, может быть, я просто неправильно понял документы ... ¯_ (ツ) _ / ¯