【问题标题】:Can we use keywords as parameter names in SWIFT?我们可以在 SWIFT 中使用关键字作为参数名称吗?
【发布时间】:2018-04-23 02:19:18
【问题描述】:

基本上,我想设置一个使用“for”作为参数的函数以提高可读性。

enum Genre {
    case drama
    case comedy
}

func setupTable(for: Genre) {
    switch for {
    case .drama: break
    case .comedy: break
    }
}

我设置了类似的东西,但是当我尝试使用“for”的开关时,它会作为关键字出现并引发编译错误。

干杯

【问题讨论】:

  • 通常在这种情况下,您会给参数一个不同的内部名称:func setupTable(for genre: Genre)。然后说switch genre
  • 很高兴知道它可以在项目范围内使用,而不仅仅是在这种特殊情况下使用反引号,但我觉得应该尽可能避免使用保留关键字。

标签: swift parameters enums switch-statement keyword


【解决方案1】:

当使用关键字作为普通标识符时,您必须使用反引号 ` 这样对其进行转义

func setupTable(for: Genre) {
    switch `for` {
        case .drama: break
        case .comedy: break
    }
}

附带说明,正如@Hamish 在对该问题的评论中指出的那样,您应该尽量避免对变量使用此类名称,(在这种情况下)您可以通过为变量提供内部和外部名称来做到这一点参数:

func setupTable(for genre: Genre) {
    switch genre {
        case .drama: break
        case .comedy: break
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2019-05-14
    • 1970-01-01
    • 2016-03-26
    相关资源
    最近更新 更多