swift 中的 `self` 是什么?

What is `self` in swift?

我在其中一个旧项目中找到了这段代码:

guard let `self` = self else {
     return .empty()
}

static let `default`: LayoutParameters = { ..some code.. }

我假设 `` 在旧版本的语言中使用。但我想知道为什么使用 used/was。另外,我想知道如果在Swift和Xcode的最新版本中不更改代码并“保持原样”是否有任何问题。它工作正常吗?我应该用

替换它吗
guard let self = self else ......

Xcode IDE 建议您使用 `` 以帮助在中使用相同的 默认密钥 基础 SDK。

例子:default是Foundation中的一个常量名,如果你想使用default创建新的变量名是default你需要添加``.

但是您使用 SwiftLint 和默认规则,使用默认的 contants 名称是一种代码味道。

self 是关键字,通常您不能在上下文之外的地方使用关键字和保留字。然而,这有时会产生问题。出于这个原因,有一种特殊的语法可以使关键字成为普通标识符,例如:

enum MyEnum: String {
   case `default`
}

(另见

历史上 self 不允许作为 guard-let-else 中的常量名称,因此通常(滥用)使用反引号。 自 Swift 4.2.

以来不再需要它们

代码仍然可以正常工作,因为您可以将任何标识符包装在反引号中,它只是一个普通标识符。