I have some hash map:
let locals: HashMap<String, i32>;
locals = HashMap::new();
When you look an entry up, you use get(). This returns a value as Option<&i32>.
Because it is wrapped with Option<V>, you need to unwrap it before use.
let value1 = locals.get(&key).unwrap();
However, it could return None and .unwrap() will panic in that case.
If you are 100% sure that it won’t fail, you might be better to use .expect(msg) instead.
let value2 = locals.get(&key).expect("key/value should exist");
With .expect(), you can give a custom panic message ("key/value should exit") in a way similar to C’s assert(). The return value value2 is &V (here &i32).