rust - 如何转换`结果`进入`选项`,并返回 None 是否有任何错误?
问题描述
我有一个尝试读取数据库的代码。该函数是读取数据库并返回类型get_f64
的第三方函数。Result<f64,ValueAccessError>
如果里面没有foo
字段,则返回错误my_variable
。如果有值,我需要将其转换为Option<f64>
返回Some(f64)
,如果没有/null,则返回 None。如何转换Result<T,E>
为Option<T>
,并返回 None 是否有任何错误?
// this returned Result<f64, ValueAccessError>
let value = my_variable.get_f64("foo");
// but I need Option<f64>
解决方案
您可以使用Result::ok()
将 aResult
转换为Option
:
let value = my_variable.get_f64("foo").ok();
推荐阅读
- python - 具有一个固定值和其余随机值的 Pytorch 随机张量生成
- dremio - 索引为 0 的字段超出了 32000 字节的大小限制,dremio
- profiling - 如何按比例获取C++程序在每个函数中花费的时间
- javascript - 流式传输不同语言的 mp4 视频 (ExpressJs)
- node.js - 保护公共 API 的最佳实践是什么
- nativescript - NS MediaFilePicker - 类构造函数 Observable 不能在没有“new”的情况下被调用,并且类型上不存在“on”属性
- flutter - Flutter - 无法在远程服务器上使用 HTTPS 调用 API
- vba - 根据电子邮件地址移动超过 20,000 封电子邮件会冻结 Outlook
- next.js - 使用 Nextjs 在 Netlify 上部署 Storybook
- css - 如何在 Next.js 应用程序中将输入框与图像对齐