【发布时间】:2016-07-22 09:26:00
【问题描述】:
我有一个get_url_content 函数并且不关心错误(这只是一个测试)。它返回一个Option<String>。
extern crate hyper;
use std::io::Read;
use hyper::client::Client;
fn get_url_content(url: &str) -> Option<String> {
let client = Client::new();
let mut s = String::new();
match client.get(url).send() {
Ok(mut res) => {
match res.read_to_string(&mut s) {
Ok(_) => {
Some(s)
},
Err(_) => {
None
}
}
},
Err(_) => {
None
}
}
}
这个函数很好用,但我觉得它不容易阅读。我认为有一些关于这种案例的最佳实践可以使其更具可读性。嵌套匹配是否是一种不好的做法(如 JS 中的回调地狱),如果是,如何避免?
【问题讨论】:
标签: rust