“_”(下划线)在swift中的四种用法。
转自http://www.cocoachina.com/industry/20140630/8982.html
//1.格式化数字字面量
let paddedDouble = 123.000_001
let oneMillion = 1_000_000
//2.忽略元组的元素值
let http404Error = (404,"Not Found")
let (_,errorMessage) =http404Error
//3.忽略区间值
let base = 3
let power = 10
var answer = 1
for _in1...power{
answer *=base
}
//4.忽略外部参数名
//1)忽略方法的默认外部参数名
//在使用方法(类方法或者实例方法)时,方法的第二个参数名及后续的参数名,默认既是内部参数名,又是外部参数名,如果不想提供外部参数名,可以在参数名前添加下划线来忽略外部参数名。
class Counter1{
var count:Int =0
func incrementBy(amount:Int,numberOfTimes:Int) {
count += amount * numberOfTimes
}
}
//2)忽略具有默认值的参数的外部参数名
//当函数或者方法的参数具有默认值时,swift自动为该参数提供与参数名一致的默认外部参数名,因此在进行函数调用的时候,要提供黑夜参数名,可以使用下划线进行忽略默认外部参数名(但是不推荐忽略外部参数名,这主要是为了调用的时候可以方便地知道每个参数的含义)。
func join(s1:String,s2:String,joiner:String = " ")->String{
return s1+joiner+s2
}
join("Hello",s2:"world",joiner:"_")
//如果不想用默认外部参数名,可以进行如下修改
func join(s1:String,_ joiner:String ="")->String{
return s1+joiner+s2
}
join("hello",s2:"world","_")
注意“何为外部参数名”如下: