使用保留关键字枚举案例

Gab*_*lla 15 enums swift

是否可以使用保留关键字作为枚举案例?

例如:

enum MyEnum {
  case Self // compiler complains here
  case AnotherCase
}
Run Code Online (Sandbox Code Playgroud)

在其他语言中,这可以通过以某种方式转义关键字来实现,例如在scala中我们使用反引号,例如

`type`
Run Code Online (Sandbox Code Playgroud)

尽管type是保留关键字,但可以用作标识符.

swift中有类似的东西吗?

vad*_*ian 24

来自Swift语言指南(命名常量和变量部分)

如果您需要为保留的Swift关键字提供与常量或变量相同的名称,请在将该关键字用作名称时将其包含在后面的刻度线(`)中.但是,除非您绝对没有选择,否则请避免使用关键字作为名称.

enum MyEnum {
  case `Self`
  case AnotherCase
}
Run Code Online (Sandbox Code Playgroud)

并在有或没有反引号的情况下使用它

let x: MyEnum = .Self
let y = MyEnum.`Self`
Run Code Online (Sandbox Code Playgroud)