例如: let body = reqwest::get(request.as_str())?.text()?; ::log::info!("result: {:?}", body.clone());
后面的?如何理解,没有搜到这里的用法,麻烦说明或者给个文档链接,谢谢!
1
共 5 条评论, 1 页
例如: let body = reqwest::get(request.as_str())?.text()?; ::log::info!("result: {:?}", body.clone());
后面的?如何理解,没有搜到这里的用法,麻烦说明或者给个文档链接,谢谢!
评论区
写评论问题居然发重了,我再复制一份,哈哈
问号操作符在官方的教程里介绍过了,建议从头看一遍。一般来说,我碰到的问题都可以从下面三个地方里找到答案
https://doc.rust-lang.org/book/ch09-02-recoverable-errors-with-result.html
https://doc.rust-lang.org/edition-guide/rust-2018/error-handling-and-panics/the-question-mark-operator-for-easier-error-handling.html
https://doc.rust-lang.org/reference/expressions/operator-expr.html#the-question-mark-operator
好的,谢谢,我看下! 对以下内容的回复:
谢谢大神! 对以下内容的回复:
处理result结果的缩写,等效于match进行模式匹配,没错误就提取数据,有错误就返回error。当然println里的:?是另一个意思,是为了输出更多debug信息。
https://doc.rust-lang.org/std/macro.try.html
在下面有写这个?操作符和try!宏是差不多的。