局部名为下划线的参数会被忽略。调用者必须要提供一个实参,不过函数体中并没有它的名字,因此无法引用。比如:
func say(s:String, times:Int, loudly _:Bool) {
函数体中无法使用loudly参数,不过调用者还是需要提供第3个参数:
say("hi", times:3, loudly:true)
声明不需要为忽略的参数提供外部名:
func say(s:String, times:Int, _:Bool) {
不过调用者必须要提供:
say("hi", times:3, true)
该特性的目的是什么呢?它并非为了满足编译器的要求,因为如果函数体中没有引用某个参数,那么编译器并不会报错。我主要将其作为对自己的一个提示,表示“我知道这里有个参数,只不过故意不使用它而已”。