swift中的as!和as?
func mySort(array:inout Array<Any>, sortClosure:(Any,Any)->Bool) -> Array<Any> {
// 冒泡排序算法
for indexI in array.indices {
// 最后一个元素直接返回
if indexI == array.count-1 {
break
}
// 冒泡排序
for indexJ in 0...((array.count-1)-indexI-1) {
// 调用传递进来的闭包算法
if sortClosure(array[indexJ],array[indexJ+1]) {
}else{
// 进行元素交换
array.swapAt(indexJ, indexJ+1)
}
}
}
return array
}
var array:Array<Any> = [1,4,3,5,7,5,4,2,7]
mySort(array: &array, sortClosure: {(i:Any, nextI:Any) -> Bool in
return (i as! Int) < (nextI as! Int)
})
print(array)
这里as!就是将i和nextI强制转换成Int型了