没有参数标签的Swift函数

时间:2017-01-13 20:02:36

标签: swift syntax swift3

假设我在Swift 3中编写以下函数:

func rgb(r: CGFloat, g: CGFloat, b: CGFloat) -> UIColor {
    return UIColor.init(red: r, green: g, blue: b, alpha: 1)
}

当我打电话时,我必须写let black = rgb(r:0, g:0, b:0)

是否可以编写此函数,以便将其称为let black = rgb(0, 0, 0)

2 个答案:

答案 0 :(得分:3)

来自documentation

  

省略参数标签

     

如果您不想要参数的参数标签,请写一个   下划线(_)而不是显式参数标签   参数。

func someFunction(_ firstParameterName: Int, secondParameterName: Int) {
    // In the function body, firstParameterName and secondParameterName
    // refer to the argument values for the first and second parameters. 
}
someFunction(1, secondParameterName: 2)
     

如果参数具有参数标签,则在调用时必须标记参数   功能

答案 1 :(得分:1)

使用_忽略标签:

func rgb(_ r: CGFloat, _ g: CGFloat, _ b: CGFloat) -> UIColor {
    return UIColor(red: r, green: g, blue: b, alpha: 1)
}

参数可以有两个参数名称,外部名称后跟内部名称。下划线(_)表示“忽略此值”,因此呼叫站点不需要外部标签。