rust - rust 语法匹配绑定 - 如何将“Some”与条件和 None 匹配在一起
问题描述
我正在尝试像这样匹配(或者也会考虑使用 let 绑定,因为另一种情况对我来说并不有趣)
let cl : Option<u64> = res.content_length();
match cl {
Some(x) if x == 0 | None => { // want to take care of x == 0 or None cases
return std::result::Result::Ok(RegisterResponse{..Default::default()})
}
_ => {} // don't care
}
我收到此编译错误
Some(x) if x == 0 | None => {
| ^ no implementation for `{integer} | std::option::Option<_>`
解决方案
你在:
之后失踪cl
了let cl Option<u64> = res.content_length();
另外,你需要','之前_ => {}
(之后}
)
推荐阅读
- php - 在通过ajax循环调用后尝试截断字符串
- r - RGBA到HEX颜色转换的R函数
- react-native - 使用 Polidea/react-native-ble-plx 从 ble 设备获取所有服务和特性时出错
- svelte - 是否可以使用 Svelte 跨多个组件绑定相同的变量?
- javascript - 使用 Python 以与 Javascript 完全相同的方式解析日期/时间字符串?
- python - 如何舍入numpy数组中的特定数字选择?
- magento-2.3 - 通过升级脚本 Magento 2 更新客户地址属性
- java - 如何在@RequestParam 后端的服务调用中添加参数?
- ios - 如何在 SwiftUI 环境中实现子上下文(CoreData)?
- azure - Azure Functions - New-AzContainerGroup:对象引用未设置为对象的实例