swift自动为闭包提供参数名缩写功能,可以直接通过$0和$1等来表示闭包中的第一个第二个参数,并且对应的参数类型会根据函数类型来进行判断。如下代码:
不使用$0 $1这些来代替
letnumbers = [1,2,5,4,3,6,8,7] sortNumbers = numbers.sorted(by: { (a, b) -> Boolinreturna < b })print("numbers -"+"\(sortNumbers)")
使用$0,$1
letnumbers = [1,2,5,4,3,6,8,7] var sortNumbers = numbers.sorted(by: {$0<$1})print("numbers -"+"\(sortNumbers)")
可以发现使用$0、$1的话,参数类型可以自动判断,并且in关键字也可以省略,也就是只用写函数体就可以了。
网友评论