雖然與serde_json工作閱讀JSON文檔,我寫了下面的代碼行獲得展開的serde_json::from_str
返回值的結果:用下劃線實例化Rust泛型意味着什麼?
fn get_json_content(content_s: &str) -> Option<Value> {
let ms: String = serde_json::from_str(content_s).unwrap; // <--
match serde_json::from_str(content_s) {
Ok(some_value) => Some(some_value),
Err(_) => None
}
}
正如你所看到的,我忘了()
上結束調用unwrap
,這就造成了以下錯誤:
error: attempted to take value of method
unwrap
on typecore::result::Result<_, serde_json::error::Error>
let ms: String = serde_json::from_str(content_s).unwrap;
但是,當我在這看遠一點,那讓我覺得奇怪的事情是:
core::result::Result<_, serde_json::error::Error>
我明白下劃線在匹配上下文中意味着什麼,但要實例化一個泛型?那麼這是什麼意思?我無法在Rust書籍,參考資料或網頁搜索中找到任何答案。
參見[什麼是VEC <_>?](HTTP ://stackoverflow.com/q/34363984/155423)。 – Shepmaster