在鸿蒙开发中,自定义枚举与标准库的Option、Result类型协同,是构建健壮应用的关键。这套组合拳能高效处理值缺失、操作失败等场景,比传统null判断更安全。下面结合实战经验,分享如何用枚举构建类型安全的业务逻辑。
一、Option类型的深度应用
1. Option的核心设计
标准库的Option<T>是处理"可能不存在值"的利器:
enum Option<T> {
| Some(T) // 值存在
| None // 值缺失
}
```
相比null,它有两大优势:
- 编译期强制处理两种情况
- - 避免空指针异常
### 2. 自定义枚举适配Option语义
当业务需要更具体的缺失场景时,可扩展Option逻辑:
```cj
// 用户权限枚举(比Option更具象)
enum UserPermission {
| Granted(String) // 已授权(带权限范围)
| Denied // 拒绝授权
| Uninitialized // 未初始化
}
// 转换为标准Option
func permissionToOption(perm: UserPermission) -> Option<String> {
match perm {
case .Granted(scope) => Some(scope)
case .Denied | .Uninitialized => None
}

最低0.47元/天 解锁文章
753

被折叠的 条评论
为什么被折叠?



