pub fn get<K>(&self, key: K) -> Option<&MetadataValue<Ascii>>
    where
        K: AsMetadataKey<Ascii>,
    {
        key.get(self)
    }
Returns a reference to the value associated with the key. This method
is for ascii metadata entries (those whose names don't end with
"-bin"). For binary entries, use get_bin.

If there are multiple values associated with the key, then the first one
is returned. Use `get_all` to get all values associated with a given
key. Returns `None` if there are no values associated with the key.

# Examples

```
# use tonic::metadata::*;
let mut map = MetadataMap::new();
assert!(map.get("x-host").is_none());

map.insert("x-host", "hello".parse().unwrap());
assert_eq!(map.get("x-host").unwrap(), &"hello");
assert_eq!(map.get("x-host").unwrap(), &"hello");

map.append("x-host", "world".parse().unwrap());
assert_eq!(map.get("x-host").unwrap(), &"hello");

// Attempting to read a key of the wrong type fails by not
// finding anything.
map.append_bin("host-bin", MetadataValue::from_bytes(b"world"));
assert!(map.get("host-bin").is_none());
assert!(map.get("host-bin".to_string()).is_none());
assert!(map.get(&("host-bin".to_string())).is_none());

// Attempting to read an invalid key string fails by not
// finding anything.
assert!(map.get("host{}bin").is_none());
assert!(map.get("host{}bin".to_string()).is_none());
assert!(map.get(&("host{}bin".to_string())).is_none());
```
tonic/src/metadata/map.rs