我知道这个例子完全没用并且做作,但我试图更好地了解如何在Swift中处理值,我不明白为什么以下代码会返回错误。
var notSorted = sort([1,2,3,4]){true}
答案 0 :(得分:4)
sort
的第二个参数的类型为(T, T) -> Bool
,但您提供的是() -> Bool
,即没有返回true
的参数的闭包。
当然这两种类型不匹配,你理所当然地得到编译时错误。
这样的事情会起作用:
var notSorted = sort([1,2,3,4]){_ in true}
顺便说一句,该闭包具有反转阵列的效果。如果你想要执行一个nop,你必须放false
。