我们可以在 SWIFT 中使用关键字作为参数名称吗?

Can we use keywords as parameter names in SWIFT?

基本上,我想设置一个使用 'for' 作为可读性参数的函数。

enum Genre {
    case drama
    case comedy
}

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

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

干杯

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

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
    }
}