在 Swift 中,枚举的关联值可以是任意类型,包括 Void。当枚举的关联值为 Void 时,通常我们会省略关联值的定义,如下所示:
enum MyEnum {
case case1
case case2(Void)
}
但如果我们要显式地指定关联值为 Void,则会出现 (())
这样的写法,如下所示:
enum MyEnum {
case case1
case case2(())
}
这种写法虽然没有错误,但并不优雅,因为使用 ()
或 Void
表示空元组或空类型是更常见的写法。
为了避免显式指定关联值为 Void 时出现 (())
的写法,我们可以使用 Void
或空元组来定义关联值,如下所示:
enum MyEnum {
case case1
case case2(Void) // 使用 Void
case case3(()) // 使用空元组
}
这样就可以避免使用 (())
的写法了。