tl; dr
是否可以实例化具有类型关联值的通用Swift 4枚举成员Void?
Void
背景
我正在使用一个简单的 Result 枚举(类似于典型的Result):
enum Result<T> { case success(T) case error(Error?) }
现在,我想使用这个枚举来表示操作的结果,该操作不会产生实际的结果值;该操作是 成功 还是 失败 。为此,我将类型定义为Result<Void>,但是我在如何创建Result实例方面苦苦挣扎,这都let res: Result<Void> = .success不可行let res: Result<Void> = .success()。
Result<Void>
let res: Result<Void> = .success
let res: Result<Void> = .success()
在Swift 3中,您可以省略type的关联值Void:
在Swift 4中,您必须传递类型的关联值Void:
let res: Result<Void> = .success(()) // Or just: let res = Result.success(())