【发布时间】:2021-03-07 20:27:53
【问题描述】:
有没有办法从Option 中“提取”数据?我有一个返回 Some(HashMap) 的 API 调用。我想使用HashMap,就好像它不在Some 中一样,并使用数据。
根据我的阅读,Some(...) 似乎只适用于匹配比较和一些内置函数。
从 crate 文档中提取的简单 API 调用:
use std::collections::HashMap;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let resp = reqwest::blocking::get("https://httpbin.org/ip")?
.json::<HashMap<String, String>>()?;
println!("{:#?}", resp.get("origin"));
Ok(())
}
结果:
Some("75.69.138.107")
【问题讨论】:
标签: rust enums pattern-matching optional