gpt4 book ai didi

swift - 具有 Void 关联类型的通用 Swift 4 枚举

转载 作者:IT王子 更新时间:2023-10-29 05:04:39 26 4
gpt4 key购买 nike

tl;dr

是否可以实例化一个通用的 Swift 4 枚举成员,其关联值类型为 Void

背景

我正在使用一个简单的 Result 枚举(类似于 antitypical Result ):

enum Result<T> {
case success(T)
case error(Error?)
}

现在我想用这个枚举来表示一个不产生实际结果值的操作的结果;操作要么成功,要么失败。为此,我将类型定义为 Result<Void> ,但我正在为如何创建 Result 实例而苦苦挣扎,let res: Result<Void> = .success 都不是也不let res: Result<Void> = .success()有效。

最佳答案

在 Swift 3 中,你可以省略 Void 类型的关联值:

let res: Result<Void> = .success()

在 Swift 4 中,您必须传递类型为 Void 的关联值:

let res: Result<Void> = .success(())
// Or just:
let res = Result.success(())

关于swift - 具有 Void 关联类型的通用 Swift 4 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45837915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com