首页 > 解决方案 > 如何转换`结果`进入`选项`,并返回 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>

标签: rust

解决方案


您可以使用Result::ok()将 aResult转换为Option

let value = my_variable.get_f64("foo").ok();

推荐阅读