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

我们可以在SWIFT中使用关键字作为参数名称吗?,swift,parameters,enums,switch-statement,keyword,Swift,Parameters,Enums,Switch Statement,Keyword,基本上,我想设置一个函数,使用“for”作为可读性参数 enum Genre { case drama case comedy } func setupTable(for: Genre) { switch for { case .drama: break case .comedy: break } } 我设置了类似的东西,但当我尝试使用“for”的开关时,它会作为关键字出现,并抛出编译错误 干杯当使用关键字作为普通标识符时,您必须使用反勾号来转

基本上,我想设置一个函数,使用“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设置表(适用于流派:流派){
切换类型{
案例。戏剧:休息
案例。喜剧:休息
}
}

当使用关键字作为普通标识符时,必须使用反勾号将其转义,如下所示

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

另一方面,正如@Hamish在对该问题的评论中指出的,您应该尽量避免为变量使用此类名称,在本例中,您可以通过为参数提供内部和外部名称来实现这一点:

func设置表(适用于流派:流派){
切换类型{
案例。戏剧:休息
案例。喜剧:休息
}
}

通常在这种情况下,您会给参数一个不同的内部名称:
func setupTable(对于流派:流派)
。然后说
switch genre
。相关:很高兴知道它可以在项目范围内使用,不仅仅是在这个特殊情况下使用反勾号,而且我觉得如果可能的话,应该避免使用保留关键字作为名称。通常在这种情况下,您会给参数一个不同的内部名称:
func setupTable(对于genre:genre)
。然后说
switch-genre
。相关:很高兴知道它可以在项目范围内使用,不仅仅是在这个特殊的情况下使用反勾号,而且我觉得如果可能的话,应该避免使用保留关键字作为名称。